私の問題は、私のフレームオブジェクトで動作するtkraise()を取得できないということです。フレームを格納するための変数を使用するときは機能しますが、オブジェクトを使用するときは機能しません。 tkraise()をフレームオブジェクトで動作させ、blue_frameを表示させるには? (他のフレーム関数もすべて機能しません)作成したフレームオブジェクトでフレーム関数が機能していません
私の基本フレーム(ボックス)には、他のすべてのフレームが入ります。これらのフレームは、すべてを継承するNew_Frameクラスを使用して作成したオブジェクトですFrameクラスから、つまり、私はNew_Frameクラスオブジェクト上ですべての種類のフレーム操作を実行できるはずですが、tkraise()のように動作していません。
from tkinter import *
root = Tk()
root.minsize(width=300, height=230)
box = Frame(root)
box.pack(fill=BOTH, expand=True)
box.grid_columnconfigure(0, weight=1)
box.grid_rowconfigure(0, weight=1)
class New_frame(Frame):
def __init__(self,color):
Frame.__init__(self)
self.color = color
fr = Frame(box, bg=self.color)
fr.grid(row=0, column=0, sticky="nsew")
# frame objects
blue_frame = New_frame("blue")
red_frame = New_frame("red")
green_frame = New_frame("green")
blue_frame.tkraise()
root.mainloop()
は、あなたが(それぞれ 'New_frame'が内部フレームを持っている)7つのフレームの合計を作成しようとしていますか? 'tkraise'を呼び出すと、どのフレームを上げるつもりですか? –