标签: tk-toolkit

是否有与 .NET 的 ListView 控件等效的 Tkinter 小部件?

在 .NET 中,有 ListView 控件,它显示带有可点击列标题的多列项目列表,可用于按列按升序或降序对列表进行排序。我需要一个具有完全相同行为的可滚动 Tkinter 小部件,但标准 Tkinter 模块中似乎没有任何具有类似功能的东西。这似乎是一个奇怪的疏忽。有没有像这样的小部件的模块?最需要跨平台解决方案,但最重要的是小部件在 Windows(XP 和 7)上运行良好。

python tk-toolkit tkinter

2
推荐指数
1
解决办法
5719
查看次数

每个 TKinter 小部件可用的序列列表

是否有一个参考站点包含​​每个 Tkinter 小部件的所有可用绑定序列的列表?

例如,我可以使用以下代码将回调绑定到 TreeView:

tree.bind("<<TreeviewSelect>>", selection_changed)
Run Code Online (Sandbox Code Playgroud)

但是,我似乎找不到一个很好的资源来列出可以分配回调的所有可能事件。

python tk-toolkit tkinter

2
推荐指数
1
解决办法
1303
查看次数

将事件绑定到单个字符 tcl/tk

我正在尝试在小部件中显示二进制信息(即文本、条目、标签)。单个字符,在这种情况下,只有“0”或“1”应该是可点击的,以便它们在 0 和 1 之间切换。

我不太确定要使用哪个小部件以及如何将鼠标事件绑定到单个字符。

我希望有人能指出我正确的方向,因为我对 TK 方面还很陌生。

tk-toolkit tcl widget

2
推荐指数
1
解决办法
404
查看次数

覆盖 Tcl/Tk 文本小部件中的绑定

我在应用程序中有这些绑定:

bind $::app     <Control_L><o>      {FileOpen}
bind $::app     <Control_L><O>      {FileOpen}
Run Code Online (Sandbox Code Playgroud)

FileOpen 是一个过程。

我在文本小部件中按 Ctrl+o 并且 FileOpen 启动正常,但首先在插入点处将换行符插入到文本小部件中。

我知道 Ctrl+o 是在文本小部件中插入换行符的默认绑定,但我的绑定不应该覆盖它吗?

我还尝试了以下方法:

bind $::app         <Control_L><o>      {}
bind $::app         <Control_L><O>      {}
bind $::app.text    <Control_L><o>      {}
bind $::app.text    <Control_L><O>      {}
bind $::app         <Control_L><o>      {FileOpen}
bind $::app         <Control_L><O>      {FileOpen}
Run Code Online (Sandbox Code Playgroud)

还是没有成功。到底是怎么回事?

Ubuntu 上的 Tcl/Tk 8.5.10。

bind tk-toolkit tcl

2
推荐指数
1
解决办法
857
查看次数

无法调用按钮命令:应用程序已被破坏

下面给出的是使用Tkinter和Python创建独立窗口的代码:

import Tkinter

Tkinter.NoDefaultRoot()

win1=Tkinter.Tk()
win2=Tkinter.Tk()

Tkinter.Button(win1, text='Woho!',command=win1.destroy()).pack()
Tkinter.Button(win2, text='Woho!',command=win2.destroy()).pack()

win1.mainloop()
Run Code Online (Sandbox Code Playgroud)

执行时显示:

Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\eclipse\Python Projects\Project 1\Source1\mod.py", line 8, in <module>
    Tkinter.Button(win1, text='Woho!',command=win1.destroy()).pack()
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 2106, in __init__
    Widget.__init__(self, master, 'button', cnf, kw)
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 2036, in __init__
    (widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: can't invoke "button" command:  application has been destroyed
Run Code Online (Sandbox Code Playgroud)

我是Python的新手,因此无法理解它的含义。我要去哪里错了?

python user-interface tk-toolkit tkinter python-2.7

2
推荐指数
1
解决办法
7349
查看次数

在ubuntu上安装Wordnet-3.0时出错:找不到Tcl配置定义

我下载了Wordnet-3.0,因为它说必须已经安装了tcl和tk.所以我用以下方法检查了这个:

vidyasagar@vidyasagar-ThinkPad-Edge-E431:~/Documents/NLP/WordNet-3.0$ dpkg -s tcl
Package: tcl
Status: install ok installed
Priority: optional
Section: interpreters
Installed-Size: 51
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Multi-Arch: foreign
Source: tcltk-defaults
Version: 8.6.0+6ubuntu3
Provides: tclsh
Depends: tcl8.6 (>= 8.6.0-2)
Breaks: tcl8.3 (<< 8.3.5-15), tcl8.4 (<< 8.4.20-2), tcl8.5 (<< 8.5.14-3), tcl8.6 8.6.0-2)
Conflicts: tcl-lib, tcl8.5-lib
Description: Tool Command Language (default version) - shell
 Tcl is a powerful, easy to use, embeddable, cross-platform interpreted
scripting language.
This package is a dependency package, which depends on Debian's …
Run Code Online (Sandbox Code Playgroud)

install tk-toolkit tcl wordnet ubuntu-14.04

2
推荐指数
1
解决办法
2692
查看次数

TKinter 在小部件周围留下边框

当我在彩色背景上放置一个按钮时,TKinter 会在小部件周围留下这个奇怪的白色框。例如下面的代码:

from Tkinter import *

root = Tk()
root.geometry("300x100+300+300")
root.configure(bg="red")
button = Button(root, text="Connect", highlightthickness=0)
button.pack()

root.mainloop()  
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我该怎么做才能摆脱白色间距?

python user-interface tk-toolkit tkinter python-2.7

2
推荐指数
1
解决办法
4276
查看次数

如何在 Ruby Tk 中绑定关键事件

我想在控制台中显示我在 Tk 窗口中按下的内容。

我写了以下代码:

require 'tk'

root = TkRoot.new
entry = TkEntry.new(root) do
  pack
end

entry.bind("Key", proc {p "key pressed"})
Tk.mainloop
Run Code Online (Sandbox Code Playgroud)

key pressed如果我按任意键,它会显示。

但我想显示我按下的键,而不是一个常量字符串。谁能帮我?

ruby tk-toolkit

2
推荐指数
1
解决办法
468
查看次数

如何在Python中的Tkinter的小部件上使用Tcl / Tk绑定函数?

尽管Tkinter是从Tcl / Tk衍生而来的,但它不如Tcl / Tk完整。Tcl / Tk绑定函数具有tkinter不具备的一些属性(例如,%d返回事件https://www.tcl.tk/man/tcl8.4/TkCmd/bind.htm#M24的详细信息字段)。
Tcl / Tk脚本可由python中的“ eval”函数使用,但我不知道如何在Tcl / Tk脚本中声明tkinter小部件。

所以我如何在Tkinter小部件上使用此功能及其属性?

python bind tk-toolkit tkinter tcl

2
推荐指数
1
解决办法
803
查看次数

tkinter 画布 - 从事件中提取对象 ID?

有没有办法从事件中提取画布对象的 id?

例如,我想将一个项目添加到画布,并绑定到它——但如果我的画布上有多个项目,我需要区分它们。

def add_canvas_item(self,x,y):
    canvas_item_id = self.canvas.create_oval(x-50,y-50,x+50,y+50, fill='green')
    self.canvas.tag_bind(canvas_item_id ,"<ButtonPress-1>",self.stateClicked)

def itemClicked(self,event):
    print("Item XYZ Clicked!") <- Where XYZ is the ID of the item
Run Code Online (Sandbox Code Playgroud)

我有一些非常“hacky”的方法来解决这个问题(跟踪鼠标,并询问画布距离该点最近的项目)但这似乎不是“最佳”方法。

有没有更好的办法?

tk-toolkit tkinter python-3.x

2
推荐指数
1
解决办法
2008
查看次数