我在搞乱tkinter
,我正试图创建一个自定义列表框。到目前为止,我的代码还可以工作,但是我想为这个小部件设置一个不同的默认宽度,但是我不知道怎么做。我现在得到的返回这个错误:
AttributeError: 'ShelfListbox' object has no attribute 'tk'
代码:
from tkinter import *
from TestData import *
from Item import *
from Shelf import ShelfListbox
def create_item(lb):
global item
item = Item(sku_ent.get(), title_ent.get(), qty_ent.get())
lb.insert(END, item.print_item())
root = Tk()
frame = Frame(root)
sku_lbl = Label(root, text="SKU: ").grid()
sku_ent = Entry(root)
sku_ent.grid(row=0, column=1)
title_lbl = Label(root, text="Title: ").grid(row=1, column=0)
title_ent = Entry(root)
title_ent.grid(row=1, column=1)
qty_lbl = Label(root, text="QTY: ").grid(row=2, column=0)
qty_ent = Entry(root)
qty_ent.grid(row=2, column=1)
item_list = ShelfListbox(root)
item_list.grid(row=0, rowspan=3, column=2)
for key in items:
item_list.insert(END, items[key].print_item()) #ERROR COMES FROM THIS LINE
btn = Button(root, text="Confirm", command=lambda: create_item(item_list)).grid(row=3, columnspan=2)
root.mainloop()
ShelfListbox代码:
^{pr2}$
您需要将
self
作为第一个参数传递给Listbox.__init__
方法:相关问题 更多 >
编程相关推荐