前提
tkinterをクラス化してGUIを表示しようとしています。
調べていたところ、下記のコードの表記がありました。
super().init(master)
この一文がないとエラーメッセージが表示されるのですが、
このsuper().init(master)が何を指して、どう動作に影響をしているのかわかりません。
”””基底クラスのコンストラクタをオーバーライドするなら、スーパークラスのコンストラクタも呼び出す必要がある。なぜなら、オブジェクトがきちんと初期化されないからだ。”””
と表記がありましたが、
基底クラス=tkinterクラス?
オーバーライド=tkinterを上書き?
スーパークラスのコンストラクタも呼び出す=tkinter自体にコンストラクタがある?
よくわかりません。
初学者なのでかみ砕いて教えていただけたら幸いです。
どうぞよろしくお願いいたします。
発生している問題・エラーメッセージ
# AttributeError: 'Application' object has no attribute 'tk'
該当のソースコード
python
1import tkinter as tk 2 3class Application(tk.Frame): 4 def __init__(self,master): 5 # super().__init__(master) 6 self.pack() 7 8 master.geometry('200x200') 9 master.title('test') 10 11 12win = tk.Tk() 13app = Application(master=win) 14app.mainloop()

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。