Fenêtre d'interface graphique Python apprendre à faire un questionnaire

Yunyunzhi Language 2021-08-19 22:51:43 阅读数:604

fen tre interface graphique python

Je me prépare pour l'exercice. PythonProjets《2048》 Sur le chemin du petit jeu , J'ai trouvé le mien. TKINTER Le module n'est pas encore très qualifié , Encore une fois. , Et combiner les éléments du module , Faites un questionnaire. .


Comme je l'ai déjà dit.,C'estGUI Les quatre étapes nécessaires à la programmation sont la création de fenêtres 、 Ajouter un élément , Afficher les éléments , Fonctionnement du programme principal .

from tkinter import *

toop = Tk()

frame1 = Frame(toop)              # Les éléments ici peuvent être: Label、Frame、Button、EntryAttendez un peu!....

frame1.pack()

mainloop()

Et analyser , Habituellement, le format du questionnaire est : Le premier est le nom du questionnaire. ( C'est le but. ), Puis les questions , Présentation finale .

De cette façon, nous pouvons diviser cette fenêtre en trois parties “ Objet du questionnaire ” On le met sous la fenêtre principale. , Chaque question que nous pouvons mettre dans un cadre (Frame) Ou une zone de liste (Listbox)En bas, L'interface de soumission finale peut également être placée sous la fenêtre principale . Afin que nous puissions écrire un questionnaire simple !

D'abord, bien sûr, le nom de la personne interrogée. , C'est l'âge. . On peut utiliser une étiquette. (Label)Écris., Case d'entrée utilisée par l'intimé pour entrer ses renseignements pertinents (Entry).

Label(frame1,text="Nom:").grid(row=0,column=0,sticky=W)
Entry(frame1).grid(row=1,column=0)

Label(frame1,text="Âge:").grid(row=2,column=0,sticky=W)
Entry(frame1).grid(row=3,column=0)

On y est. LabelEtEntry Deux éléments , Où sont les étapes pour afficher les éléments? ?C'est évident., C'est à l'arrière. gridPropriétés. Il existe deux façons d'afficher les éléments , L'un est ici. gridPropriétés, Est de diviser l'emplacement des éléments en tableaux ,Derrière.row C'est la ligne. ,column C'est la colonne. .

Etsticky La propriété est de diviser l'emplacement d'une interface en est 、Nan、Ouest、Nord,Sud - Est、Nord - Ouest、 Huit directions au Sud - Ouest , Et placer l'élément à l'un de ces endroits , De même, la deuxième méthode d'affichage des éléments packDanssidePropriétés,side L'attribut divise simplement une position d'interface en quatre directions , Les deux sont en majuscules .

Ensuite, il y a la question. , Demandez aux répondants de choisir une ou plusieurs des nombreuses options ci - dessous. .

Label(frame1,text=" Avez - vous eu de l'insomnie récemment ?").grid(row=4,column=0,sticky=W)
list1 = [("1Une fois", 1),
("2-5Une fois", 2),
("5-10Une fois", 3),
("10Plus d'une fois", 4)]
v1 = IntVar()
i = 5
for num1, check1 in list1:
Radiobutton(frame1, text=num1, variable=v1,value=check1).grid(row=i, column=0, sticky=W)
i += 1
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

Je ne veux pas une autre option d'écriture. , Donc nous avons utilisé quelque chose de plus simple for C'est la boucle. , C'est un outil paresseux. (Ha Ha!). Les autres options de question sont copiées à tour de rôle ,Coller, Il suffit de le modifier. !

Enfin, le bouton soumettre , Celui - ci utilise un bouton (Button) C'est réglé. .

Button(toop,text="Soumettre",bg="blue",fg="white",command=quit).pack(side=BOTTOM)

Enfin, donnez un questionnaire simple avec tous les codes. .

from tkinter import *
toop = Tk()
toop.title(u" Questionnaire ")
Label(toop,text=" Questionnaire individuel ").pack()
frame1 = Frame(toop)
Label(frame1,text="Nom:").grid(row=0,column=0,sticky=W)
Entry(frame1).grid(row=1,column=0)
Label(frame1,text="Âge:").grid(row=2,column=0,sticky=W)
Entry(frame1).grid(row=3,column=0)
Label(frame1,text=" Avez - vous eu de l'insomnie récemment ?").grid(row=4,column=0,sticky=W)
list1 = [("1Une fois", 1),
("2-5Une fois", 2),
("5-10Une fois", 3),
("10Plus d'une fois", 4)]
v1 = IntVar()
i = 5
for num1, check1 in list1:
Radiobutton(frame1, text=num1, variable=v1,value=check1).grid(row=i, column=0, sticky=W)
i += 1
Label(frame1,text=" Avez - vous fait des achats en ligne récemment ?").grid(row=i+1,column=0,sticky=W)
list2 = [("1Une fois", 1),
("2-5Une fois", 2),
("5-10Une fois", 3),
("10Plus d'une fois", 4)]
v2 = IntVar()
k = i+2
for num2, check2 in list2:
Radiobutton(frame1, text=num2, variable=v2,value=check2).grid(row=k, column=0, sticky=W)
k += 1
Label(frame1,text=" Quels types de choses ont été achetés en ligne? ?").grid(row=k+1,column=0,sticky=W)
list3 = [(" Snacks ", 1),
("Électronique", 2),
("Jouets", 3),
(" Accessoires de jeu ", 4),
("Les vêtements",5),
(" Bijoux ",6)]
v3 = IntVar()
a = k+2
for num3, check3 in list3:
Radiobutton(frame1, text=num3, variable=v3,value=check3).grid(row=a, column=0, sticky=W)
a += 1
Label(frame1,text=" Combien de fois les deux mains ont - elles appris sur Internet? ?").grid(row=a+1,column=0,sticky=W)
list4 = [("1Oh, mon Dieu./Une fois", 1),
("2-3Oh, mon Dieu./Une fois", 2),
("3-5Oh, mon Dieu./Une fois", 3),
]
v4 = IntVar()
b = a+2
for num4, check4 in list4:
Radiobutton(frame1, text=num4, variable=v4,value=check4).grid(row=b, column=0, sticky=W)
b += 1
frame1.pack(padx=10,pady=10)
Button(toop,text="Soumettre",bg="blue",fg="white",command=quit).pack(side=BOTTOM)
mainloop()
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.

L'image de l'effet est la suivante::

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

OK, C'est la fin du partage. !

Copyright:Cet article est[Yunyunzhi Language]Établi,Veuillez apporter le lien original pour réimprimer,remercier。 https://fra.fheadline.com/2021/08/20210819225051488c.html