Python 3.x tkinter变量.grid(行=0)
我已经开始与tkinter合作,我有这样的问题。比如说,Python 3.x tkinter变量.grid(行=0),python-3.x,tkinter,Python 3.x,Tkinter,我已经开始与tkinter合作,我有这样的问题。比如说, from tkinter import * root = Tk() frame = Frame(root) frame.pack() theLabel = Label(root, text="bla bla") theLabel.grid(row=0) root.mainloop() 此代码不起作用,并给出类似的错误 File "C:\Users\Kenan\AppData\Local\Programs\Python\Pytho
from tkinter import *
root = Tk()
frame = Frame(root)
frame.pack()
theLabel = Label(root, text="bla bla")
theLabel.grid(row=0)
root.mainloop()
此代码不起作用,并给出类似的错误
File "C:\Users\Kenan\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py", line 2074, in grid_configure
+ self._options(cnf, kw))
_tkinter.TclError: cannot use geometry manager grid inside . which already has slaves managed by pack
当在同一帧/根中使用pack和grid的组合时,会出现此问题 将第9行的
网格更改为pack()
,反之亦然
from tkinter import *
root = Tk()
frame = Frame(root)
frame.pack()
theLabel = Label(frame, text="bla bla") *this should use frame - not root
theLabel.grid()
root.mainloop()
希望这有帮助!
Luke当您在同一帧/根中使用pack和grid的组合时,会出现此问题
将第9行的网格更改为pack()
,反之亦然
from tkinter import *
root = Tk()
frame = Frame(root)
frame.pack()
theLabel = Label(frame, text="bla bla") *this should use frame - not root
theLabel.grid()
root.mainloop()
希望这有帮助!
Luke正如@Luke.py所提到的,您不能在同一个小部件中混合使用grid()
和pack()
- 在第6行,您正在将一个
框架
打包到根目录
- 在第9行,您正在对
根目录中的标签进行网格化
也许您想在框架内grid()
标签,在这种情况下,将第8行更改为
theLabel = Label(frame, text="bla bla")
或者您确实希望框架
和标签
处于同一级别,在这种情况下,将第6行更改为
frame.grid()
正如@Luke.py所提到的,您不能在同一个小部件中混合使用grid()
和pack()
- 在第6行,您正在将一个
框架
打包到根目录
- 在第9行,您正在对
根目录中的标签进行网格化
也许您想在框架内grid()
标签,在这种情况下,将第8行更改为
theLabel = Label(frame, text="bla bla")
或者您确实希望框架
和标签
处于同一级别,在这种情况下,将第6行更改为
frame.grid()
首先谢谢你的回答。但是,.pack仍然有效。我需要使用.grid。实际上我已经写了一些条目,我想把它们放在标签附近。你能帮我一下吗?你把标签
的根目录(从根目录
改为框架
)都改了,本来可以解决这个问题的。但另外,您还将grid
更改为pack
,这不再是必需的了。@xZise好地方!首先谢谢你的回答。但是,.pack仍然有效。我需要使用.grid。实际上我已经写了一些条目,我想把它们放在标签附近。你能帮我一下吗?你把标签
的根目录(从根目录
改为框架
)都改了,本来可以解决这个问题的。但另外,您还将grid
更改为pack
,这不再是必需的了。@xZise好地方!谢谢你们,汉克斯,我错了。我不应该用它。当我移除它时,它工作了。感谢所有人:)如果你开始在所有平台上使用ttk来实现更多的原生控件和窗口,你会希望在每个Toplevel
中放置一个ttk.Frame
,以获得正确的(系统默认)颜色背景谢谢大家,我的错误是Frame。我不应该用它。当我移除它时,它工作了。感谢所有人:)如果您开始在所有平台上使用ttk来实现更多具有本地风格的控件和窗口,您将希望在每个Toplevel
中放置一个ttk.Frame
,以获得正确的(系统默认)颜色背景