web-dev-qa-db-ja.com

ラジオボタンにtkinterのデフォルト値を与えるpython

設定ウィンドウの作成に取り組んでいますが、ラジオボタンのデフォルト値を設定する方法がわかりません。ウィンドウを黒で開始したいのですが、ユーザーがどちらのボタンもクリックしなかった場合でも、「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()
6
code kid

StringVarの初期値は次のように指定できます。

self.who_goes_first = tkinter.StringVar(None, "B")

または、StringVarをいつでも必要な値に設定するだけで、ラジオボタンが更新されます。

self.who_goes_first.set("B")
8
Novel