如何將關鍵字參數(**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)
編輯:
這裏是什麼,我想了解一個完整的代碼示例。這是整個代碼:
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()
問題,關於這個代碼:
self.parent.geometry('900x600')
做什麼,我希望這是調整窗口的大小。 應該kwargs ['width'] = 900和kwargs ['height'] = 600做同樣的事情由於tk.Frame
坐在其父母root
?這似乎沒有任何kwargs
我添加任何事情。即使我加
kwargs['background'] = 'red'
,我看不出任何效果。我見過使用這種語法的人的例子:here,here。 爲什麼背景顏色不會變紅?
所以實際上你總是強制高度和寬度? –
你的代碼有什麼問題? – Goyo