0

Listbox関数内に挿入後に更新されない がありますupdate_listboxprint更新の前後にリストのサイズをチェックするためにいくつかのステートメントを入れ、値が挿入されていることをチェックするために別の印刷を行いました。すべてのprintステートメントは、それが機能していた場合に私が期待することを示しています。しかし、それは に表示されていませんListbox

class View(Frame):
    def __init__(self, master):
        Frame.__init__(self, master)
        self.list = Listbox(self, selectmode=SINGLE)
        self.list.pack(fill=BOTH, expand=YES)
        self.list.delete(0, END)
        print(self.list.size()) #shows 0 which
        self.update_listbox()
        print(self.list.size()) #shows the correct number, but listbox doesn't show anything

    def update_listbox(self):
        temp=products.get_keys()
        self.list.delete(0, END)
        for i in temp:
            print str(products.get_item(i)) #Is showing the correct output.
            self.list.insert(END, str(products.get_item(i)))

編集

ステーキ氏が示唆したように、私はに変更Listbox(self, selectmode=SINGLE)しましListbox(master, selectmode=SINGLE) たが、その上と下に2つのリストボックスを作成しEntryframe(以下のコードを追加)、下のリストボックスに更新が正しく表示されました。2 つのリストボックスが表示されるのはなぜですか?

class Controller(object):
    def __init__(self, master=None):
        self._master = master
        #filemenubar
        self.menu()
        #listbox
        self.listboxFrame = View(master)
        self.listboxFrame.pack(fill=BOTH, expand=YES)
        #entry widget
        self.EntryFrame = Other(master)
        self.EntryFrame.pack(fill = X)
4

0 に答える 0