为何tkinter 在我写的函数中无法直接使用
"""checkbutton 练习
"""
from tkinter import *
# 普通版
def normalButton():
root = Tk()
v = IntVar()
c = Checkbutton(root, text='test1', variable=v)
c.pack()
l = Label(root, textvariable=v)
l.pack()
return root.mainloop()
# 循环版
def circleButton():
root = Tk()
GIRLS = ['1', '2', '3', '4']
v = []
for girl in GIRLS:
v.append(IntVar())
b = Checkbutton(root, text=girl, variable=v[-1])
b.pack()
root.mainloop()
return
runCode = input('press 1 or 2')
if runCode==1:
normalButton()
elif runCode==2:
circleButton()
运行后发现tkinter没有弹出任何组件程序就结束了。这是为啥。 本帖最后由 1q23w31 于 2020-8-29 21:10 编辑
看这个,因为input接收到的是字符型变量,只有变为整型变量后,才能与数字比较大小
from tkinter import *
# 普通版
def normalButton():
root = Tk()
v = IntVar()
c = Checkbutton(root, text='test1', variable=v)
c.pack()
l = Label(root, textvariable=v)
l.pack()
return root.mainloop()
def circleButton():
root = Tk()
GIRLS = ['1', '2', '3', '4']
v = []
for girl in GIRLS:
v.append(IntVar())
b = Checkbutton(root, text=girl, variable=v[-1])
b.pack()
root.mainloop()
return
runCode = int(input('press 1 or 2'))
if runCode==1:
normalButton()
elif runCode==2:
circleButton()
1q23w31 发表于 2020-8-29 21:04
看这个,因为input接收到的是字符型变量,只有变为整型变量后,才能与数字比较大小
runCode = iint(nput('press 1 or 2'))
多打了个字母
runCode = int(nput('press 1 or 2'))
最好还是改下面的判断为字符,万一输入的不是数字,int()不是会报错么
runCode = input('press 1 or 2')
if runCode=='1':
normalButton()
elif runCode=='2':
circleButton() 疾风怪盗 发表于 2020-8-29 21:08
多打了个字母
谢谢提醒
页:
[1]