2


Tkinter で GUI プログラムを作成したいと考えています。私の考えは、動的コンテンツを表示する menuBar と MainFrame を備えた mainWindow です。
これでメインフレームを追加したかった:

MainFrame = Frame(self, bd = '2')
MainFrame.pack(anchor = CENTER)

しかし、何も起こりません。何かアイデアはありますか?ご協力いただきありがとうございます。



プログラムコード:

class View(Tk):
    def __init__(self):
        Tk.__init__(self)
        self.title('Device Configurator')
        self.geometry('500x400')
        self.resizable(0,0)

        self.countFrame = Frame(self, bd = 2, relief = RIDGE)
        self.countFrame.pack(pady = 10, padx = 5)    

        MainFrame = Frame(self, bd = '2')
        MainFrame.pack(anchor = CENTER)

        menubar = Menu(self)
        filemenu = Menu(menubar, tearoff=0)
        filemenu.add_command(label='Configure Devices', command= None)
        filemenu.add_command(label='Exit', command=self.quit)
        menubar.add_cascade(label='File', menu=filemenu)

        infomenu = Menu(menubar, tearoff = 0)
        infomenu.add_command(label='About', command = None)
        menubar.add_cascade(label='Info', menu = infomenu)

        self.config(menu = menubar)



class Controller(object):
    def __init__(self):
        self.view = View()
        self.view.mainloop()

c = Controller()
4

1 に答える 1

3

実際、フレームは正常に追加されましたが、サイズはゼロです (さらに非表示です!)。

コンテンツを追加するか、レイアウト マネージャーに利用可能なすべてのスペースを提供するよう依頼することができますMainFrame.pack(expand=True, fill="both")

見えるようにするには、borderwith(alias bd) では不十分です。レリーフと組み合わせる必要があります (例: relief=SUNKEN)。フレームを「見る」もう 1 つの方法は、background.

于 2012-10-11T07:47:37.650 に答える