在 tkinter 中给单选按钮一个默认值 python
Give a radio button a default value in tkinter python
我正在创建设置 window,但我不知道如何为单选按钮设置默认值。我希望 window 以黑色选中开始,如果用户未单击任何一个按钮,仍将返回 'B' 值。谢谢您的帮助。
import tkinter
from tkinter import ttk
class Test:
def __init__(self):
self.root_window = tkinter.Tk()
#create who goes first variable
self.who_goes_first = tkinter.StringVar()
#black radio button
self._who_goes_first_radiobutton = ttk.Radiobutton(
self.root_window,
text = 'Black',
variable = self.who_goes_first,
value = 'B')
self._who_goes_first_radiobutton.grid(row=0, column=1)
#white radio button
self._who_goes_first_radiobutton = ttk.Radiobutton(
self.root_window,
text = 'White',
variable = self.who_goes_first,
value = 'W')
self._who_goes_first_radiobutton.grid(row=1, column=1)
def start(self) -> None:
self.root_window.mainloop()
if __name__ == '__main__':
game = Test()
game.start()
您可以像这样为您的 StringVar 提供初始值:
self.who_goes_first = tkinter.StringVar(None, "B")
或者您可以随时将 StringVar 设置为您想要的值,这将更新单选按钮:
self.who_goes_first.set("B")
我正在创建设置 window,但我不知道如何为单选按钮设置默认值。我希望 window 以黑色选中开始,如果用户未单击任何一个按钮,仍将返回 'B' 值。谢谢您的帮助。
import tkinter
from tkinter import ttk
class Test:
def __init__(self):
self.root_window = tkinter.Tk()
#create who goes first variable
self.who_goes_first = tkinter.StringVar()
#black radio button
self._who_goes_first_radiobutton = ttk.Radiobutton(
self.root_window,
text = 'Black',
variable = self.who_goes_first,
value = 'B')
self._who_goes_first_radiobutton.grid(row=0, column=1)
#white radio button
self._who_goes_first_radiobutton = ttk.Radiobutton(
self.root_window,
text = 'White',
variable = self.who_goes_first,
value = 'W')
self._who_goes_first_radiobutton.grid(row=1, column=1)
def start(self) -> None:
self.root_window.mainloop()
if __name__ == '__main__':
game = Test()
game.start()
您可以像这样为您的 StringVar 提供初始值:
self.who_goes_first = tkinter.StringVar(None, "B")
或者您可以随时将 StringVar 设置为您想要的值,这将更新单选按钮:
self.who_goes_first.set("B")