2017-07-21 73 views
0

我是tkinter的新手,试图创建一个列表框。 这是我使用的代码,我不断收到错误AttributeError:'int'对象没有属性'tk'。 我在做什么错?tkinter listbox错误 - AttributeError:'int'对象没有属性'tk'

from tkinter import * 

def ListWindow(): 
    Listwindow = Tk()   
    Listwindow.title("Welcome") 
    Listwindow.geometry("400x130") 

    lbl_welcome = Label(Listwindow,text="Welcome to A list box!") 
    lbl_welcome.grid(row=0,column=0,columnspan=10) 

    myList = Listbox(Listwindow) 
    myList.grid(row=1,column=0,columnspan=10) 

    WidgetNames = ['Button', 'Canvas'] 
    for widget in WidgetNames: 
     Listbox.insert(0, widget) 
    myList.grid(row=0,column=0,columnspan=10) 

def main(): 
    ListWindow() 

if __name__ == "__main__": 
    main() 
+1

ü有错别字 它不是Listbox.insert应该myList.insert ... 和 以上高清的main()放线 Listwindow.mainloop()当然 –

+0

- 愚蠢的我非常感谢。 –

回答

1

您需要调用小部件的instance方法。现在你正在尝试使用Type作为实例。

for widget in WidgetNames: 
    myList.insert(0, widget) 

此外,不确定您正在使用哪个IDE,但即使某些IDE隐式调用mainloop,最好明确添加它。

def ListWindow(): 
    Listwindow = Tk() 
    .... 
    .... 
    myList.grid(row=0,column=0,columnspan=10) 
    Listwindow.mainloop() 
相关问题