gpt4 book ai didi

python - tkinter.TclError : invalid command name "table"

转载 作者:太空宇宙 更新时间:2023-11-03 16:20:50 26 4
gpt4 key购买 nike

好吧,首先我不知道这里的实际问题是什么,所以我无法想出一个更准确的标题。也许你们中的一些人可以编辑它以使其准确

以下是重现我遇到的问题的最小化代码。

from traybar import SysTrayIcon
from cal import Calendar
import Tkinter

class Add():
def __init__(self,master):
Calendar(master).pack()

def add(systray):
root = Tkinter.Tk()
Add(root)
root.mainloop()

SysTrayIcon("abc.ico","abc", (('Add',None, add), ) ,default_menu_index=0).start()

caltrabar 是这些文件 http://tkinter.unpythonic.net/wiki/TkTableCalendarhttps://github.com/Infinidat/infi.systray/blob/develop/src/infi/systray/traybar.py分别。

如果您运行此程序,它将在 Windows 计算机的系统托盘中创建一个图标,其中包含选项添加退出。单击 app 打开日历,没问题。关闭日历并再次单击添加。但这次它没有打开日历并抛出以下错误

`
Traceback (most recent call last):
File "_ctypes/callbacks.c", line 314, in 'calling callback function'
File "C:\Users\Koushik Naskar\AppData\Roaming\Python\Python27\site-packages\traybar.py", line 79, in WndProc
self._message_dict[msg](hwnd, msg, wparam.value, lparam.value)
File "C:\Users\Koushik Naskar\AppData\Roaming\Python\Python27\site-packages\traybar.py", line 276, in _command
self._execute_menu_option(id)
File "C:\Users\Koushik Naskar\AppData\Roaming\Python\Python27\site-packages\traybar.py", line 283, in _execute_menu_option
menu_action(self)
File "C:\Users\Koushik Naskar\Desktop\So\temp.py", line 11, in add
Add(root)
File "C:\Users\Koushik Naskar\Desktop\So\temp.py", line 7, in __init__
Calendar(master).pack()
File "C:\Users\Koushik Naskar\Desktop\So\cal.py", line 66, in __init__
state='disabled', browsecommand=self._set_selection)
File "C:\Python27\lib\lib-tk\tktable.py", line 118, in __init__
Tkinter.Widget.__init__(self, master, 'table', kw)
File "C:\Python27\lib\lib-tk\Tkinter.py", line 2090, in __init__
(widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: invalid command name "table"
`

仅当我将 SysTrayIconCalendar 一起使用时,才会出现此问题。如果您使用简单的 Tkinter,则不要使用 Calendar > ButtonLabel 等不会出现此错误。另外,我可以在常用的 Tkinter GUI 中正常使用 Calendar 小部件(没有 SysTrayIcon ),只要我想要的次数,那里不会发生错误。现在我不知道这里发生了什么以及如何解决这个问题。 SysTrayIconCalendar 有什么问题?为什么我第一次打开 GUI 时没有发生错误?请帮忙。

最佳答案

TkTableCalendar 需要 tktable 模块,该模块已安装在 lib-tk 中(第 3 方模块通常进入 lib/site-packages),如回溯的这部分所示。

File "C:\Python27\lib\lib-tk\tktable.py", line 118, in __init__
Tkinter.Widget.__init__(self, master, 'table', kw)

tktable 模块要求您的 tcl/tk 安装具有 tktable 扩展名。该扩展定义了“表格”小部件。它不是 Windows 上与 Python 一起安装的标准 tcl/tk 的一部分。因此

_tkinter.TclError: invalid command name "table"

tktable 源代码(可能是 tcl 和 C 的混合)托管在 SourceForgeThis page说它 ActiveState Batteries Included 发行版的一部分。我不知道 AS tcl/tk 的免费版本是否拥有所有“电池”。我不知道如何用新的替换您已有的 tcl/tk 安装。如果可能的话,我个人会使用替代方案。

关于python - tkinter.TclError : invalid command name "table",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38485253/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com