Directorio de artículos
1. Ingrese el nombre
el código se muestra a continuación:
#输入名字
Label(F1,text='你的名字?').pack()
nameVar = StringVar()
nameVar.set("名字")
#输入 Entry
Entry(F1,textvariable=nameVar,width=15).pack()
2. Ingrese la edad
el código se muestra a continuación:
#输入年龄
def Digital(content):
if content.isdigit() or content =='':
return True
else
return False
# 将函数Digital包装成app里的dig_in 必须要做的
dig_in = app.register(Digital)
Label(F1,text='你的年龄?').pack()
ageVar = StringVar()
ageVar.set("18")
#设置只允许数字输入
#%P进行实时监测
Entry(F1,textvariable=ageVar,width=15,validate='key',validatecommand=(dig_in,'%P')).pack()
Haga clic en: Visualización detallada del efecto de los atributos utilizados en Entrada
:
Tres botones de radio de una sola selección
el código se muestra a continuación:
#单选
langs = ['Python','Java','C/C++','Go','PHP','Ruby','Node.js']
Label(F1,text='你最喜欢哪一门编程语言? 单选').pack()
bestVar = IntVar() #声明bestVar 是tkinter里面的一个整型变量
bestVar.set(0) #默认喜欢第0个
#把所有radiobutton加进来
for i in range(len(langs)):
Radiobutton(F1,text=langs[i],variable=bestVar,value=i).pack()
Para lograr su comportamiento de "selección única", asegúrese de que se utilicen las opciones variables de todos los botones de un grupo.La misma variableY use la opción de valor para especificar qué valor representa cada botón.
Modifique el código para alinearlo a la izquierda
for i in range(len(langs)):
Radiobutton(F1,text=langs[i],variable=bestVar,value=i).pack(anchor=W)
Click: Explicación detallada de los atributos usados en Radiobutton
Cuatro botones de verificación de selección múltiple
el código se muestra a continuación:
#多选
Label(F1,text='你想学习哪些编程语言? 多选').pack()
selectVar = []
for lang in langs:
selectVar.append(IntVar())
Checkbutton(F1,text=lang,variable=selectVar[-1]).pack(anchor=W)
Clic: explicación detallada de los atributos utilizados en el botón de verificación
Cinco, botones de enviar y salir
def callback():
name = nameVar.get()
age = ageVar.get()
best = langs[bestVar.get()]
selects = []
for i in range(len(selectVar)):
# 0 选 1 没选
if selectVar[i].get() == 1:
selects.append(langs[i])
string ='你的名字:'+name+'\n'
string +='你的年龄:'+age+'\n'
string +='你最喜欢哪一门编程语言+'+best+'\n'
string +='你最想学的编程语言:'+''.join(selects)+'\n'
messagebox.showinfo('确认你的信息',string)
nameVar.set('')
ageVar.set('')
#按键
Button(F1,text='提交',command=callback).pack(side=LEFT,padx='10',pady='10')
Button(F1,text='退出',command=app.quit).pack(side=RIGHT,padx='10',pady='10')
para resumir
Pregunta 1: IntVar () y StgringVar
son propiedad de tkinter
IntVar () en tk representa un valor entero, StringVar representa un valor variable
Por ejemplo, a = IntVar () significa decirle al compilador que a es un tipo entero, es
como declarar una variable en Python y asignarla a un número. Por ejemplo, a = 123 significa que a es un número entero
v[-1] #表示列表的最后一个元素.
v=[1,2,3,4]
v[-1] == 4
v[-2] == 3