如何在Windows中解决TkTreeCtrl错误?

时间:2014-06-10 19:59:55

标签: python tkinter

我安装了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帮我解决了这个问题,我需要在我的代码中使用多个列表框吗?

2 个答案:

答案 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\)

您将摆脱两种错误类型:

找不到包错误 无效的参数错误