Ошибка при создании подкласса tk.Listbox (у объекта ошибки Attribute нет атрибута 'tk') - PullRequest
1 голос
/ 18 июня 2019

Попытка создать подкласс Listbox, чтобы я мог создать новый KeyListbox

from tkinter import *

class KeyListbox(Listbox):
     def __init__(self,parent,**kwargs):
        super().__init__(self,parent,**kwargs)

root = Tk()
root.title("Key List Test")
testlist=[ "Python" , "Perl" , "C" , "PHP" , "JSP" , "Ruby"]
lijst = KeyListbox(root,selectmode='multiple')
for i in testlist:
    lijst.insert(END,i)

 lijst.pack(root)
 root.mainloop()

AttributeError: объект 'KeyListbox' не имеет атрибута 'tk'

1 Ответ

1 голос
/ 18 июня 2019

Вы использовали неправильный синтаксис для super.

class KeyListbox(Listbox):
    def __init__(self, parent, **kwargs):
        super().__init__(parent, **kwargs)

Или вы можете вызвать родительский класс, как показано ниже:

class KeyListbox(Listbox):
    def __init__(self, parent, **kwargs):
        Listbox.__init__(self, parent, **kwargs)
...