|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- from tkinter import *
- symbol = ['+', '-', 'x', '/']
- def main(v):
- root = Tk()
- frame = Frame(root)
- frame.pack(padx=10, pady=10)
- l1 = Label(frame, text=symbol[v - 1])
- l2 = Label(frame, text='=')
- l1.grid(row=0, column=1)
- l2.grid(row=0, column=3)
- v1 = IntVar()
- v2 = IntVar()
- v3 = IntVar()
- def test(content):
- return content.isdigit()
- testCMD = root.register(test)
- e1 = Entry(frame, textvariable=v1, validate='key', validatecommand=(testCMD, '%P'), width=10)
- e2 = Entry(frame, textvariable=v2, validate='key', validatecommand=(testCMD, '%P'), width=10)
- e3 = Entry(frame, textvariable=v3, state='readonly', width=10)
- e1.grid(row=0, column=0)
- e2.grid(row=0, column=2)
- e3.grid(row=0, column=4)
- def add():
- result = int(v1.get()) + int(v2.get())
- v3.set(str(result))
- print(v1.get())
- print(v2.get())
- print(v3.get())
- def reduce():
- result = int(v1.get()) - int(v2.get())
- v3.set(str(result))
- def multiply():
- result = int(v1.get()) * int(v2.get())
- v3.set(str(result))
- def division():
- result = int(v1.get()) / int(v2.get())
- v3.set(str(result))
- if v == 1:
- compute = add
- elif v == 2:
- compute = reduce
- elif v == 3:
- compute = multiply
- elif v == 4:
- compute = division
- b1 = Button(frame, text='确定', command=compute, width=10)
- b2 = Button(frame, text='退出', command=root.quit, width=10)
- b1.grid(row=1, column=0, sticky=W, padx=5)
- b2.grid(row=1, column=4, sticky=E, pady=5)
- mainloop()
- def start():
- lap = Tk()
- def count():
- q = int(v.get())
- print(type(q))
- main(q)
- frame = LabelFrame(lap, text='请选择计算种类:')
- frame.pack(padx=15, pady=15)
- list1 = [('加法计算', 1), ('减法计算', 2), ('乘法计算', 3), ('除法计算', 4)]
- v = IntVar()
- for each, num in list1:
- rb = Radiobutton(frame, text=each, variable=v, value=num, indicatoron=FALSE, command=count)
- rb.pack(fill=X)
- mainloop()
- start()
复制代码
无论输入什么数,它的v1.get(),v2.get(),和v3.get()都是0
|
|