キーワード引数(**options)をtk.Frame
から継承したTkinterクラスに追加するにはどうすればよいですか?たとえば、フレームのwidth
とheight
(またはその他のオプション)を設定するだけです。Tkinter:あなたが継承したクラスにkwargsを追加するには?
より広い質問は、クラスを継承するオブジェクトに** kwargsを追加するにはどうすればいいですか?
class profiles(tk.Frame):
def __init__(self, parent, *args, **kwargs):
self.parent = parent
kwargs['width'] = 900
kwargs['height'] = 600
super(profiles, self).__init__(parent, *args, **kwargs)
編集:
ここで私は理解しようとしているものの完全なコード例です。これは全体のコードです:私は、ウィンドウのサイズを変更している期待し
self.parent.geometry('900x600')
:このコードについてimport tkinter as tk class profiles(tk.Frame): def __init__(self, parent, *args, **kwargs): self.parent = parent kwargs['width'] = 900 kwargs['height'] = 600 kwargs['background'] = 'red' #tk.Frame.__init__(self, parent, *args, **kwargs) super(profiles, self).__init__(parent, *args, **kwargs) #self.parent.geometry('900x600') self.profile_name_label = tk.Label(self.parent, text='Profile name:') self.profile_name_label.grid(row=0, column=0, padx=(20), pady=20) self.ProfileNameVar = tk.StringVar() self.profile_name_entry = tk.Entry(self.parent, textvariable=self.ProfileNameVar) self.profile_name_entry.grid(row=0, column=1, pady=(20)) root = tk.Tk() profiles(root) root.mainloop()
質問。 kwargs ['width'] = 900、kwargs ['height'] = 600同じことをしてください
tk.Frame
は親の中にありますroot
?kwargs
のどれも追加していないようです。kwargs['background'] = 'red'
を追加しても、何の効果もありません。私はこの構文を使用する人々の例を見てきました:here、here。 背景色が赤くならないのはなぜですか?
実際、あなたは常に高さと幅を強制していますか? –
コードに何が問題なのですか? – Goyo