Python - Tkinter Radiobutton
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 se trouve 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 bouton radio 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 -
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()
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -