在Tkinter Python中给单选按钮设置默认值

11

我正在创建一个设置窗口,但我无法弄清如何为单选按钮设置默认值。我希望窗口启动时选择黑色,并且如果用户没有单击任何按钮,仍将返回“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()
1个回答

17
您可以像这样为您的StringVar提供一个初始值:
self.who_goes_first = tkinter.StringVar(None, "B")

或者您可以随时将StringVar设置为所需的值,这将更新单选按钮:

self.who_goes_first.set("B")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接