如何在 class 中使用 TKinter 设置单选按钮的默认值?

How to set default value of radio button using TKinter in a class?

我正在尝试使用 TKinter 和 Python 设置单选按钮的默认值。这是我第一次使用它,所以我很新。我的理解是默认值应该设置为我示例中的第二个单选按钮(值=1)。

from tkinter import *
from tkinter import ttk

class RadioButtons:


    def __init__(self, root):
        self.root = root
        self.jobNum = IntVar(value=1)
        self.create()

    def create(self):
        content = ttk.Frame(self.root)
        
        radioButtons = ttk.LabelFrame(content, borderwidth=5, relief="ridge", width=400, height=400, text="Radio Buttons")
        radioButtonsLbl=ttk.Label(radioButtons, text="Buttons")

        # radio buttons
        jobType1 = ttk.Radiobutton(radioButtons, text="Button 0", variable= self.jobNum, value=0)
        jobType2 = ttk.Radiobutton(radioButtons, text="Button 1", variable= self.jobNum, value=1)
        jobType3 = ttk.Radiobutton(radioButtons, text="Button 2", variable= self.jobNum, value=2)

        content.grid(column=0, row=0)


        # add to grid
        radioButtons.grid(column=0, row=0, columnspan=3, rowspan=3)
        radioButtonsLbl.grid(column=0, row=5, padx=20, pady=5, sticky=W)
        jobType1.grid(column=1, row=5, padx=20, pady=0, sticky=W)
        jobType2.grid(column=1, row=6, padx=20, pady=0, sticky=W)
        jobType3.grid(column=1, row=7, padx=20, pady=0, sticky=W)


root = Tk()
RadioButtons(root)
root.mainloop()

但是 运行 程序时没有选择单选按钮。 (screenshot of program)

调试器确认 self.jobNum 的值设置正确。(screenshot of debugger)

如何设置默认值?在创建和添加单选按钮之前和之后,我尝试了很多方法,包括 self.jobNum.set() 但无济于事。 我在这里错过了什么?这是某种范围问题吗?

我怀疑这与 python 的垃圾收集器有关。我可以通过保存对 RadioButtons(root):

的引用来解决问题
root = Tk()
rb = RadioButtons(root)
root.mainloop()