Python と Tkinter で動作がわかりません。私は独自のフレーム クラスを定義し、borderwidth やレリーフなどの特定のオプションを設定して、定義するすべてのフレームがこれらの設定を使用するようにしたいと考えました。やった
from Tkinter import *
class BaseFrame(Frame):
def __init(self,master=None,cnf={}):
Frame.__init__(self, master,cnf)
def main():
root = Tk()
f = BaseFrame(root)
l1 = Label(f,text='test')
l2 = Label(f,text='longtext')
l1.pack()
l2.pack()
f.pack()
root.mainloop()
if __name__ == '__main__':
main()
今のところ、すべてが期待どおりに機能します。今、BaseFrame に設定を追加しようとしているので、すべてのフレームにこれらの設定が渡されます。
init関数に次のように追加しました。
self.configure(bg='red')
この命令はクラスによって完全に無視されているように見えるため、驚きました。オプション bg='red' を f の作成呼び出しに追加すると:
f = BaseFrame(root,bg='red')
できます。
Frame.configure(self,bg='red')
また、他のいくつかの奇妙な構造と同様に機能しません。何をやっても、オブジェクトの作成に関する設定しかできません。init関数内でこのフォームを実行してもうまくいかないようです。
では、オプションを設定するにはどうすればよいでしょうか。基本的なことを見逃していますか?
ご協力いただきありがとうございます。