用tkin从python的不同函数调用listbox

用户

我试图在列表框中添加和删除项目,但遇到以下错误:

files = self.fileList()
TypeError: 'list' object is not callable

如果我打不到这张名单怎么办?我试图用它作为一个全局变量,但也许我用错了。我希望能够从那个列表框中获取项目,当按下一个按钮时,将它们添加到另一个列表框中。在

^{pr2}$

我将文件更改为以下内容,以查看文件是否设置正确,它返回一个空数组

files = self.fileList
print files
#prints []


已被浏览了6980次
更新日期: 2020-10-26 06:44:39
1 个回答
fefe Tyson

您永远不会初始化self.fileList(也不会fileListSorted)。 当您在directoryContents中写入时

global fileList
fileList = Listbox(yscrollcommand = scrollbar.set)
...

处理一个名为fileList的全局变量。您可以在任何地方使用self.fileList(或者在所有函数中添加global fileList,从而使用fileList)。在

但是,我对你使用类持怀疑态度,你应该试着理解面向对象的概念及其在python中的实现,或者暂时忽略这些概念。


编辑

我试着运行你的代码,你也可以改变行

^{pr2}$

通过

insertName = self.fileList.get(insertValue)

fileListi小部件和每个Tkinter小部件都对属性使用字典表示法(例如self.fileList['background'])。在

请注意,get接受一个数字或一个包含数字的字符串,因此您在上面一行的转换是无用的。还请注意,您可以通过get(0,END)获得整个列表。在

评论 - 2020年9月11日 16:33

最新Python问答

推荐Python问答