簡體   English   中英

如何在 Tkinter 中正確構建框架

[英]How to correctly structure frames in Tkinter

我正在創建一個簡單的聊天應用程序,但在將 Frames 打包到主窗口時遇到了問題。 這是我的代碼的一部分:

class MainApplication(Frame):
    def __init__(self, parent, *args, **kwargs):
        Frame.__init__(self, parent, *args, **kwargs)

        self.server_frame = ServerFrame(self)
        self.server_frame.pack(side="left")
    
        self.client_frame = ClientFrame(self)
        self.client_frame.pack(side="left")

        self.chat_frame = ChatFrame(self)
        self.chat_frame.pack(side="right")

        self.additional_frame = AdditionalFrame(self)
        self.additional_frame.pack(side="bottom", fill="x")

我怎樣才能得到它的 GUI 看起來像這樣:

想要的 GUI 結構

當所有小部件都需要在一行或一列中時, pack()是最好的。 為此,我建議使用grid()

class MainApplication(Frame):
    def __init__(self, parent, *args, **kwargs):
        Frame.__init__(self, parent, *args, **kwargs)

        self.server_frame = ServerFrame(self)
        self.server_frame.grid(row=0, column=0)
    
        self.client_frame = ClientFrame(self)
        self.client_frame.grid(row=1, column=0)

        self.chat_frame = ChatFrame(self)
        self.chat_frame.grid(row=0, column=1, rowspan=2)

        self.additional_frame = AdditionalFrame(self)
        self.additional_frame.grid(row=2, column=0, columnspan=2, sticky='ew')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM