3

私は Tkinter を使用して Python の GUI プログラミングに取り組んでいます。
以下のコードを使用して、Tkinter ルート ウィンドウに 4 つのフレーム (Frame1、Frame2、Frame3、および Frame4) を作成しています。

import tkinter as tki

class App(object):

    def __init__(self):
        self.root = tki.Tk()        
        self.root.wm_title("Play With python")
        for r in range(8):
            self.root.rowconfigure(r, weight=1)
        for c in range(2):
            self.root.columnconfigure(c, weight=1)
    # Create Frames
        Frame1 = tki.Frame(self.root, borderwidth=1, bg = 'blue')
        Frame1.grid(row = 0, column = 0, rowspan = 2, columnspan = 2, sticky = 'w, e, n, s')

        Frame2 = tki.Frame(self.root, borderwidth=1, bg = 'blue')
        Frame2.grid(row = 2, column = 0, rowspan = 2, columnspan = 2, sticky = 'w, e, n, s')

        Frame3 = tki.Frame(self.root, borderwidth=1, bg = 'blue')
        Frame3.grid(row = 4, column = 0, rowspan = 2, columnspan = 2, sticky = 'w, e, n, s')

        Frame4 = tki.Frame(self.root, borderwidth=1, bg = 'blue')
        Frame4.grid(row = 6, column = 0, rowspan = 2, columnspan = 2, sticky = 'w, e, n, s')

app = App()
app.root.mainloop()

実際のコードではフレームが約 12 であるため、 for ループを使用してコードを読みやすくしたいのと同じことです。

同じ出力に対して以下のコードを試しています:

import tkinter as tki

class App(object):

    def __init__(self):
        self.root = tki.Tk()        
        self.root.wm_title("Play With python")
        for r in range(8):
            self.root.rowconfigure(r, weight=1)
        for c in range(2):
            self.root.columnconfigure(c, weight=1)
    # Create Frames
        j = 0
        for i in range(1,5):
            Framei = tki.Frame(self.root, borderwidth=1, bg = 'blue')
            Framei.grid(row = j, column = 0, rowspan = 2, columnspan = 2, sticky = 'w, e, n, s') 
            j = j + 2
app = App()
app.root.mainloop()

問題:

私が見ることができるように、このコードは4つのフレームを作成していますが、 Frameiと同じ名前の参照を使用しています(Frame1、Frame2、Frame3、およびFrame4とは異なります)。しかし、(Frame1、Frame2、Frame3、Frame4) という名前の異なる 4 つのフレームが必要です。

私の問題はRun Timeでの変数の作成にかなり関連していることはわかっていますが、初めて適用するので、問題に直面しています。

私が使用しているPythonのバージョンは3.0.1です。
助けてください...

4

1 に答える 1