Python implementa un software de escritorio (GUI) de encuestas de información simple


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()

Inserte la descripción de la imagen aquí

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
Inserte la descripción de la imagen aquí
:
Inserte la descripción de la imagen aquí

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.
Inserte la descripción de la imagen aquí
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)

Inserte la descripción de la imagen aquí
Click: Explicación detallada de los atributos usados ​​en Radiobutton
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí


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)

Inserte la descripción de la imagen aquíInserte la descripción de la imagen aquíInserte la descripción de la imagen aquíInserte la descripción de la imagen aquí
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')

Inserte la descripción de la imagen aquí

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

Supongo que te gusta

Origin blog.csdn.net/HG0724/article/details/112253443
Recomendado
Clasificación