封包和网格在tkin中

2024-04-23 10:43:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图写这段代码,但我面临的问题网格和包我想,下面我也张贴了错误,你可以检查

    from tkinter import *
    import csv

    import os
    os.chdir(r"C:\Users\Umer Selmani\Desktop\prog.practice\MP1")

    class Diet:
        def __init__(self,name):

            self.name = name
            name.title("Cafeteria")

            self.label_1=Label(name,text="Sehir Cafeteria", font="ariel 13 bold italic", fg="red",height="5", bg="darkblue").pack(fill=X)
            self.stradio=Radiobutton(name,text="1300").grid(row=2,column=1)
            self.ndradio=Radiobutton(name,text="1700").grid(row=2,column=2)
            self.rdradio=Radiobutton(name,text="2100").grid(row=2,column=3)




    main=Tk()
    my_gui=Diet(main)
    main.mainloop()

在这里我有一个错误,弹出当我试图运行代码,你能给我解释一下,为什么会发生这样的事情。你知道吗

 Traceback (most recent call last):
      File "C:/Users/Umer Selmani/.PyCharmEdu2018.2/config/scratches/scratch.py", line 22, in <module>
        my_gui=Diet(main)
      File "C:/Users/Umer Selmani/.PyCharmEdu2018.2/config/scratches/scratch.py", line 14, in __init__
        self.stradio=Radiobutton(name,text="1300").grid(row=2,column=1)
      File "C:\Program Files\Python37\lib\tkinter\__init__.py", line 2223, in grid_configure
        + self._options(cnf, kw))
    _tkinter.TclError: cannot use geometry manager grid inside . which already has slaves managed by pack  

谢谢,谢谢你的帮助。
关于乌默塞尔马尼


Tags: textnameimportselfinitmaintkintercolumn
1条回答
网友
1楼 · 发布于 2024-04-23 10:43:04

不能将网格和包与具有相同父级的小部件混合使用。你知道吗

为什么?因为网格将尝试布局小部件,可能会根据不同的选项增加或减少小部件。然后pack会根据自己的规则来做同样的事情。这可能需要更改小部件的宽度或高度。你知道吗

(见this answer

每个几何管理器都有自己的特定行为。它们不能在同一个父窗口小部件中一起使用

相关问题 更多 >