我安装了tktreectrl。我也成功导入了它。但是,我在执行以下程序时仍然遇到错误。有人可以帮忙吗?
这是我的代码......
from Tkinter import *
import sqlite3
import TkTreectrl as treectrl
root = Tk()
con = sqlite3.connect('Main.db')
cur = con.cursor()
cur.execute("SELECT * FROM Lucky")
mlb = treectrl.MultiListbox(root)
mlb.pack(side='top', fill='both', expand=1)
Button(root, text='Close', command=root.quit).pack(side='top', pady=5)
mlb.focus_set()
mlb.configure(selectcmd=select_cmd, selectmode='extended')
mlb.config(columns=('Column 1', 'Column 2'))
for row in cur.fetchall():
mlb.insert('end',*map(unicode,row))
root.mainloop()
这是我的错误:
Traceback (most recent call last):
File "C:\Documents and Settings\Owner\Desktop\Python Work\Cx_Freeze\Multi_litbox.py", line 11, in <module>
mlb = treectrl.MultiListbox(root)
File "C:\Python27\lib\site-packages\TkTreectrl\MultiListbox.py", line 50, in __init__
Treectrl.__init__(self, master, showroot=showroot, **kw)
File "C:\Python27\lib\site-packages\TkTreectrl\Treectrl.py", line 489, in __init__
ver = master.tk.call('package', 'require', 'treectrl')
TclError: can't find package treectrl
某人plz帮我解决了这个问题,我需要在我的代码中使用多个列表框吗?
答案 0 :(得分:2)
你说你安装了tktreectrl。当您使用Tkinter与python而没有平面tcl时,您仍然需要安装tkintertreectrl。
您是否在主页上安装了Michael提示等两个软件包?
确保在安装两者时首先安装了tktreectrl。 在构建TkinterTreectrl或安装它时,尝试简单导入或创建一个没有任何数据的TkinterTreectrl Widget。
看起来像是缺少tktreectrl安装给我。
编辑:这是一个缺少的tktreectrl安装,你可以在回溯中看到--TkTreectrl需要'treectrl',它目前在你的系统上不可用。您可以在大多数debian派生词上将其作为一个包接收,也可以直接从sourceforge page下载。
另请阅读Michael的notes使用TkTreectrl
File "C:\Python27\lib\site-packages\TkTreectrl\Treectrl.py", line 489, in __init__
ver = master.tk.call('package', 'require', 'treectrl')
TclError:找不到包treectrl
答案 1 :(得分:0)
从以下链接下载64或x86位的tktreectrl(取决于系统架构):
https://sourceforge.net/projects/tktreectrl/files/tktreectrl/tktreectrl-2.4.1/
将其放在tcl文件夹中(例如,在您的conda目录中,您会收到此错误-
C:\Users\<username>\AppData\Local\Continuum\miniconda3\tcl\)
您将摆脱两种错误类型:
找不到包错误 无效的参数错误