|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- import tkinter as tk
- master = tk.Tk()
- frame = tk.Frame(master)
- frame.pack(padx=10,pady=10)
- v1 = tk.StringVar()
- v2 = tk.StringVar()
- v3 = tk.StringVar()
- def test(content):
- return content.isdigit()
- testCMD = master.register(test)
- entry1 = tk.Entry(frame,width=10, textvariable=v1, validate="key", validatecommand=(testCMD,'%P')).grid(row=0,column=0)
- tk.Label(frame, text="+").grid(row=0,column=1)
- entry2 = tk.Entry(frame, width=10, textvariable=v2, validate="key", validatecommand=(testCMD,'%P')).grid(row=0,column=2)
- tk.Label(frame, text="=").grid(row=0,column=3)
- entry3 = tk.Entry(frame, textvariable=v3, state="readonly").grid(row=0,column=4)
- def calc():
- result = int(v1.get())+int(v2.get())
- v3.set(str(result))
- tk.Button(frame, text="计算", width=10, command=calc).grid(row=1,column=2)
- master.mainloop()
复制代码
这是课程最后实现计算器的代码,如果把第3、4行合写成frame = tk.Frame(master).pack(padx=10,pady=10)
后面的entry、Label、Button实例化中的.grid()都会报错:
_tkinter.TclError: cannot use geometry manager grid inside . which already has slaves managed by pack
这是咋回事呀?谢谢~~~ |
|