tkinter的Label组件使用问题
from tkinter import *def check(num):
return num.isdigit()
root = Tk()
frame1 = Frame(root)
frame1.pack(padx = 10, pady = 10)
frame2 = Frame(root)
frame2.pack(padx = 10, pady = 10)
v1 = StringVar()
v2 = StringVar()
check_num = root.register(check)
e1 = Entry(frame1, textvariable = v1, validate = 'key', validatecommand = (check_num, '%P'))
e1.grid(row = 0, column = 0)
e2 = Entry(frame1, textvariable = v2)
e2.grid(row = 0, column = 2)
e3 = Entry(frame1, state = "readonly")
e3.grid(row = 0, column = 4)
Label(root, text = '+').grid(row = 0, column = 1)
Label(root, text = '=').grid(row = 0, column = 3)
# label1 = Label(root, text = '+')
# label1.grid(row = 0, column = 1)
# label2 = Label(root, text = '=')
# label2.grid(row = 0, column = 3)
mainloop()
这段代码运行后,出了一个异常,内容如下
Traceback (most recent call last):
File "F:/Python source file/gui_in_tkinter/calculator/calculator.py", line 28, in <module>
Label(root, text = '+').grid(row = 0, column = 1)
File "E:\Python\lib\tkinter\__init__.py", line 2220, in grid_configure
+ self._options(cnf, kw))
_tkinter.TclError: cannot use geometry manager grid inside . which already has slaves managed by pack
我明明用的是grid方法啊,为什么它会说被pack管理了啊 你的frame用的pack
tk中不混用排版
页:
[1]