Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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_Python 3.x_Gridview_Tkinter_Frame - Fatal编程技术网

Python Tkinter:在框架类中创建多个框架

Python Tkinter:在框架类中创建多个框架,python,python-3.x,gridview,tkinter,frame,Python,Python 3.x,Gridview,Tkinter,Frame,我有一个问题,我不能在一个给定的帧中创建多个不同的帧。这只是我整个应用程序的一小部分,但基本上我已经将不同的框架划分为类,并根据情况调用这些类 我要寻找的是如何在这个frame类中创建2个或更多帧。到目前为止,还没有创建不同的帧,因此当将它们放置在网格中时,它们会重叠并相互替换。(即frame2.标签与frame1.label重叠) 您正在成功地将两个框架放入主页框架中。问题是你也在里面放了一堆其他的小部件,而且你把它们中的一些放在和框架相同的行和列中 对于要位于框架内的小部件,您需要提供框架作

我有一个问题,我不能在一个给定的帧中创建多个不同的帧。这只是我整个应用程序的一小部分,但基本上我已经将不同的框架划分为类,并根据情况调用这些类

我要寻找的是如何在这个frame类中创建2个或更多帧。到目前为止,还没有创建不同的帧,因此当将它们放置在网格中时,它们会重叠并相互替换。(即frame2.标签与frame1.label重叠)


您正在成功地将两个框架放入
主页
框架中。问题是你也在里面放了一堆其他的小部件,而且你把它们中的一些放在和框架相同的行和列中

对于要位于框架内的小部件,您需要提供框架作为父级。例如:

    frame1.label = tk.Label(frame1, ...) 
    frame1.EntryBox = ttk.Entry(frame1, ...) 
    frame1.button = ttk.Button(frame1, ...)
    frame1.button1 = ttk.Button(frame1, ...)
    frame2.label = tk.Label(frame2, ...)

您正在将
frame1
frame1.label
放在主框架中,它们都在第0行第0列。您想用它实现什么,或者您是否打算将
frame1.label
放在
frame1
中?是的,我的目的是创建frame1并向frame1添加标签。我假设你不应该这样做?除了在非常特定的用例中,将两个小部件放在同一行和同一列中几乎从来都不是一个好主意。我的意图是创建两个框架,并在这些框架中有单独的小部件。当我运行程序时,两个帧:frame1和frame2似乎没有被创建或没有正确识别,因此frame1.label和frame2.label重叠。或者至少我认为这就是正在发生的事情。我希望在这个frame/window类中有两个不同的框架,因为我希望最终添加一个画布或另一个小部件,它比frame1的行/列中分配的空间大。您似乎对导入的使用不一致。你们两个都在导入tkinter(“显然是tk”),并进行通配符导入。只做其中一个,最好是前一个。太好了,谢谢!我现在明白你刚才在评论中的意思了。
    frame1.label = tk.Label(frame1, ...) 
    frame1.EntryBox = ttk.Entry(frame1, ...) 
    frame1.button = ttk.Button(frame1, ...)
    frame1.button1 = ttk.Button(frame1, ...)
    frame2.label = tk.Label(frame2, ...)