Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Tkinter中正确构造框架_Python_User Interface_Tkinter - Fatal编程技术网

Python 如何在Tkinter中正确构造框架

Python 如何在Tkinter中正确构造框架,python,user-interface,tkinter,Python,User Interface,Tkinter,我正在创建一个简单的聊天应用程序,但在将框架打包到主窗口时遇到了问题。 以下是我的代码部分: 类主应用程序(框架): 定义初始化(自、父、*args、**kwargs): Frame.\uuuuuu init\uuuuuuuuuuu(自、父、*args、**kwargs) self.server\u frame=ServerFrame(self) self.server\u frame.pack(side=“left”) self.client\u frame=ClientFrame(self)

我正在创建一个简单的聊天应用程序,但在将框架打包到主窗口时遇到了问题。 以下是我的代码部分:

类主应用程序(框架):
定义初始化(自、父、*args、**kwargs):
Frame.\uuuuuu init\uuuuuuuuuuu(自、父、*args、**kwargs)
self.server\u frame=ServerFrame(self)
self.server\u frame.pack(side=“left”)
self.client\u frame=ClientFrame(self)
自助客户端\框架包(side=“left”)
self.chat\u frame=聊天框(self)
self.chat\u frame.pack(side=“right”)
self.additional\u frame=附加帧(self)
自附加框架包装(侧面=“底部”,填充=“x”)
如何将其发送到GUI,如下所示:

pack()
在所有小部件都需要在一行或一列中时效果最好。为此,我推荐
grid()


是否有使用pack()的原因?从您的(非常好的)图形来看,grid()布局会更好。@Novel不,实际上不需要使用pack(),我只是认为使用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')