Tkinter : boite de Dialogue et évènements

parfois, envoyé un petit message sur l'écran où concevoir un jeu vidéo qui fonctionne avec le clavier ou la souris peut être très intéressant. dans cette partie nous allons abordées ces deux concept que tkinter nos offre.


Boites de Dialogues 

Nous distinguons dans cette catégorie, les éléments venant de 4 class de tkinter : les MessageBox, les FileDialog, les simpledialog et le ColorChooser

Les MessageBox :

Ils permettent d’afficher un message ou poser une question 

from tkinter.massagebox import *

showinfo :

 permet d’afficher un message

showinfo(titre','message à afficher')

 

showwarning :

 Permet d’afficher une alerte de danger

showwarning(titre','message à afficher')

 

askyesno,

 permet à l’utilisateur de choisir entre oui et non

ans = askyesno("Continue", "Should I continue?”)

si yes, ans=True, si non, ans=False

Les simpledialog 

Ils permettent de demander une valeur rapidement à l’utilisateur

from tkinter.simpledilalog import *

 

askstring,

permet de demander une chaine de caratère à l’utilisateur

ans = askstring("Titre", "Give me your name")

print (ans)

askinterger,

permet de demander un entier à l’utilisateur

ans = askinteger(”Dialogue Titre", "Give me an integer")

print (ans)

ans = askinteger(”Num", "Give me an integer between 0 and 100", minvalue=0, maxvalue=100)

 

Les filedialog

Ils permettent de communiquer avec les fichiers présents sur le disque dur

from tkinter.filedialog import *

 

askopenfilename :

Permet d’ouvrir un fichier unique dont l’extension a été précisée

photo=askopenfilename(filetypes=[("image",".png"),("document",".pdf")]) :

 l’on cherche une image au format .png ou un document au format pdf


askopenfilenames :

Permet d’ouvrir plusieurs fichiers dont l’extension a été précisée

photo=askopenfilenames(filetypes=[("image",".png"),("document",".pdf")]) : 

l’on cherche plusieurs images au format .png ou plusieurs documents au format pdf

 

asksaveasfilename()

Permet d’enregistrer un fichier sur le disque dur

photo= asksaveasfilename()

 

les colorchooser()

permet d’ouvrir le gestionnaire de couleur de tkinter pour permettre à l’utilisateur de cohisir une couleur parmi celle proposée. La couleur renvoyé est sous forme hexadécimal

from tkinter.colorchooser import askcolor

result=askcolor()

 couleurHexadécimal=result[1] # utilisable

 


les événements

Les évènements permettent d’activer les fonctions sans toutefois passer par un bouton ou tout autre widget cliquable. Cependant, la fonction qui est appelé par l’évènement doit avoir un argument event dans sa définition.

Les évènements permettent donc de lier une fonction aux widgets non cliquables

 

Pour associer un événement à un widget, l’on utilise la syntaxe suivante

Syntaxe.

widget.bind('<modifier-evenement>',fonction)

Nb : Le modifier est optionnel

evenement souris :

Button-n

Buttonn-Motion

Buttonn-ButtonRelease

Avec n  compris entre (1,2,3)

Exemple : label.bind(‘<Button-1>’,functionN)

1 =clique gauche, 2=molette souris, 3= clique droit

 

Evènements clavier :

.keysym

.keycode

.keysym_num

Alt_L

64

65513

Alt_R

113

65514

BackSpace

22

65288

Cancel

110

65387

Caps_Lock

66

65549

Control_L

37

65507

Control_R

109

65508

Delete

107

65535

Down

104

65364

End

103

65367

Escape

9

65307

Execute

111

65378

F1

67

65470

F2

68

65471

Fi

66+i

65469+i

F12

96

65481

Home

97

65360

Insert

106

65379

Left

100

65361

Linefeed

54

106

KP_0

90

65438

KP_1

87

65436

KP_2

88

65433

KP_3

89

65435

KP_4

83

65430

KP_5

84

65437

KP_6

85

65432

KP_7

79

65429

KP_8

80

65431

KP_9

81

65434

KP_Add

86

65451

KP_Begin

84

65437

KP_Decimal

91

65439

KP_Delete

91

65439

KP_Divide

112

65455

KP_Down

88

65433

KP_End

87

65436

 

 

.keysym

.keycode

.keysym_num

KP_Enter

108

65421

KP_Home

79

65429

KP_Insert

90

65438

KP_Left

83

65430

KP_Multiply

63

65450

KP_Next

89

65435

KP_Prior

81

65434

KP_Right

85

65432

KP_Subtract

82

65453

KP_Up

80

65431

Next

105

65366

Num_Lock

77

65407

Pause

110

65299

Print

111

65377

Prior

99

65365

Right

102

65363

Scroll_Lock

78

65300

Shift_L

50

65505

Shift_R

62

65506

Tab

23

65289

Up

98

65362

 

Exemple:

can.bind('<Key>',clavier)

can.bind('<Return>',jouer)

 

def jouer(event): # la fonction appélé doit toujours avoir le mot event

    can1.destroy()

    temps()

 

Pour dissocier un événement d’un widget, l’on utilise la syntaxe suivante

Syntaxe.

widget.unbind('<modifier-evenement>')

< tkinter : textes et canvas

tkinter et pillow : gérez vos images >

Commentaires

Posts les plus consultés de ce blog

Galerie de Réalisations Python 🖼️

une Calculatrice simple avec python🧮

Bienvenue sur notre site dédié à la programmation avec Python ! 🐍