Python 3 - Bouton radio Tkinter

Ce widget implémente un bouton à choix multiples, qui est un moyen d'offrir de nombreuses sélections possibles à l'utilisateur et permet à l'utilisateur de n'en choisir qu'une.

Afin de mettre en œuvre cette fonctionnalité, chaque groupe de boutons radio doit être associé à la même variable et chacun des boutons doit symboliser une valeur unique. Vous pouvez utiliser la touche Tab pour passer d'un bouton radio à un autre.

Syntaxe

Voici la syntaxe simple pour créer ce widget -

w = Radiobutton ( master, option, ...  )

Paramètres

  • master - Ceci représente la fenêtre parente.

  • options- Voici la liste des options les plus couramment utilisées pour ce widget. Ces options peuvent être utilisées sous forme de paires clé-valeur séparées par des virgules.

N ° Sr.Option et description
1

activebackground

La couleur d'arrière-plan lorsque la souris se trouve sur le bouton radio.

2

activeforeground

La couleur de premier plan lorsque la souris est sur le bouton radio.

3

anchor

Si le widget occupe un espace plus grand que ce dont il a besoin, cette option spécifie où le bouton radio se trouvera dans cet espace. La valeur par défaut est anchor = CENTER.

4

bg

La couleur d'arrière-plan normale derrière l'indicateur et l'étiquette.

5

bitmap

Pour afficher une image monochrome sur un radiobutton, définissez cette option sur une image bitmap.

6

borderwidth

La taille de la bordure autour de la partie indicateur elle-même. La valeur par défaut est de 2 pixels.

sept

command

Une procédure à appeler chaque fois que l'utilisateur change l'état de ce radiobutton.

8

cursor

Si vous définissez cette option sur un nom de curseur ( flèche, point, etc. ), le curseur de la souris se transforme en ce motif lorsqu'il est sur le bouton radio.

9

font

La police utilisée pour le texte.

dix

fg

La couleur utilisée pour rendre le texte.

11

height

Le nombre de lignes (et non de pixels) de texte sur le bouton radio. La valeur par défaut est 1.

12

highlightbackground

La couleur de la mise en évidence de la mise au point lorsque le bouton radio n'a pas de mise au point

13

highlightcolor

La couleur de la mise en évidence de la mise au point lorsque le bouton radio a la mise au point.

14

image

Pour afficher une image graphique au lieu du texte pour ce bouton radio, définissez cette option sur un objet image.

15

justify

Si le texte contient plusieurs lignes, cette option contrôle la façon dont le texte est justifié: CENTRE (par défaut), GAUCHE ou DROITE.

16

padx

Combien d'espace à laisser à gauche et à droite du bouton radio et du texte. La valeur par défaut est 1.

17

pady

Combien d'espace laisser au-dessus et au-dessous du bouton radio et du texte. La valeur par défaut est 1.

18

relief

Spécifie l'apparence d'une bordure décorative autour de l'étiquette. La valeur par défaut est FLAT; pour d'autres valeurs.

19

selectcolor

La couleur du bouton radio lorsqu'il est défini. La valeur par défaut est le rouge.

20

selectimage

Si vous utilisez l'option image pour afficher un graphique au lieu du texte lorsque le bouton radio est effacé, vous pouvez définir l'option de sélection d'image sur une image différente qui sera affichée lorsque le bouton radio est défini.

21

state

La valeur par défaut est state = NORMAL, mais vous pouvez définir state = DISABLED pour griser le contrôle et l'empêcher de répondre. Si le curseur est actuellement sur le bouton radio, l'état est ACTIVE.

22

text

L'étiquette affichée à côté du bouton radio. Utilisez des retours à la ligne ("\ n") pour afficher plusieurs lignes de texte.

23

textvariable

Pour asservir le texte affiché dans un widget d'étiquette à une variable de contrôle de la classe StringVar , définissez cette option sur cette variable.

24

underline

Vous pouvez afficher un soulignement (_) sous la nième lettre du texte, à partir de 0, en définissant cette option sur n. La valeur par défaut est underline = -1, ce qui signifie pas de soulignement.

25

value

Lorsqu'un bouton radio est activé par l'utilisateur, sa variable de contrôle est définie sur son option de valeur actuelle. Si la variable de contrôle est une IntVar , donnez à chaque radiobutton du groupe une option de valeur entière différente. Si la variable de contrôle est une StringVar , donnez à chaque radiobutton une option de valeur de chaîne différente.

26

variable

La variable de contrôle que ce bouton radio partage avec les autres boutons radio du groupe. Cela peut être un IntVar ou un StringVar.

27

width

Largeur de l'étiquette en caractères (pas en pixels!). Si cette option n'est pas définie, l'étiquette sera dimensionnée pour s'adapter à son contenu.

28

wraplength

Vous pouvez limiter le nombre de caractères dans chaque ligne en définissant cette option sur le nombre souhaité. La valeur par défaut, 0, signifie que les lignes seront interrompues uniquement aux nouvelles lignes.

Méthodes

N ° Sr.Méthode et description
1

deselect()

Efface (désactive) le bouton radio.

2

flash()

Fait clignoter le bouton radio plusieurs fois entre ses couleurs actives et normales, mais le laisse tel qu'il a commencé.

3

invoke()

Vous pouvez appeler cette méthode pour obtenir les mêmes actions qui se produiraient si l'utilisateur cliquait sur le bouton radio pour changer son état.

4

select()

Définit (active) le bouton radio.

Exemple

Essayez vous-même l'exemple suivant -

# !/usr/bin/python3
from tkinter import *

def sel():
   selection = "You selected the option " + str(var.get())
   label.config(text = selection)

root = Tk()
var = IntVar()
R1 = Radiobutton(root, text = "Option 1", variable = var, value = 1,
                  command = sel)
R1.pack( anchor = W )

R2 = Radiobutton(root, text = "Option 2", variable = var, value = 2,
                  command = sel)
R2.pack( anchor = W )

R3 = Radiobutton(root, text = "Option 3", variable = var, value = 3,
                  command = sel)
R3.pack( anchor = W)

label = Label(root)
label.pack()
root.mainloop()

Résultat

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -