widgets radiobutton examples check python python-2.7 tkinter ttk

radiobutton - radio button tkinter python 3



Tkinter: ¿Cómo activar ttk.Radiobutton y obtener su valor? (4)

1) Necesito configurar uno de mis tres ttk.Radiobuttons activados por defecto cuando inicio mi aplicación gui.
¿Cómo lo hago?

2) También necesito verificar si el usuario activó / hizo clic en uno de mis botones ttk.Radio.
¿Cómo lo hago?

rb1 = ttk.Radiobutton(self.frame, text=''5'', variable=self.my_var, value=5) rb2 = ttk.Radiobutton(self.frame, text=''10'', variable=self.my_var, value=10) rb3 = ttk.Radiobutton(self.frame, text=''15'', variable=self.my_var, value=15) self.rb1.grid(row=0) self.rb2.grid(row=1) self.rb3.grid(row=2)


En cuanto a su primera pregunta, una forma conveniente y directa es llamar al método de invoke :

rb2.invoke()

Tenga en cuenta que esto también ejecuta cualquier command asociado con este botón.

Ver la documentación de invocación Ttk :: radiobutton .


Puede usar rb1.state[''selected''] para establecer el valor predeterminado como rb1 y self.my_var.get() para obtener el valor (es decir, la variable de texto) del rb1 self.my_var.get() .


Solo estoy agregando algo a la respuesta de Gogo, pero no puedo comentar porque no tengo suficiente reputación.

Agregue self.my_var=tk.IntVar() antes de los self.my_var=tk.IntVar() o su programa no conocerá la variable. vea las clases variables para más información

por ejemplo, en mi caso necesito un StringVar (): esto funciona para python 3. * cambiar tkinter a Tkinter para python 2 (no estoy 100% seguro)

import tkinter as tk from tkinter import ttk class XFile_Page(tk.Frame): ... self.joinType = tk.StringVar() self.rbLeft = ttk.Radiobutton(self.frameRadioButtons, text=''left'', variable=self.joinType, value=''left'',command=self.RadioBtnSelected) self.rbRight = ttk.Radiobutton(self.frameRadioButtons, text=''right'', variable=self.joinType, value=''right'',command=self.RadioBtnSelected) self.rbLeft.grid(row=0) self.rbRight.grid(row=1) #select the rbLeft radiobutton self.rbLeft.invoke() def RadioBtnSelected(self): print(self.joinType.get())


use self.my_var.set(1) para establecer el self.my_var.set(1) con text=''5'' como RadioButton predeterminado.

Para obtener el seleccionado tienes que llamar a una función

rb1 = ttk.Radiobutton(self.frame, text=''5'', variable=self.my_var, value=5,command=self.selected) rb2 = ttk.Radiobutton(self.frame, text=''10'', variable=self.my_var, value=10,command=self.selected) rb3 = ttk.Radiobutton(self.frame, text=''15'', variable=self.my_var, value=15,command=self.selected) self.rb1.grid(row=0) self.rb2.grid(row=1) self.rb3.grid(row=2) def selected(self): if self.my_var.get()==5: "do something" elif self.my_var.get()==10: "do something" else: "do something"