키워드 인수 (**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