我試圖用TKinter和Python來設定一個單選按鈕的默認值。這是我第一次使用它,所以我很陌生。 我的理解是,默認值應該被設定為我的例子中的第二個單選按鈕(value=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")
#單選按鈕"Button 0"/span>, variable= self.jobNum, value=0)
jobType2 = ttk.Radiobutton(radioButtons, text="Button 1"/span>, variable= self.jobNum, value=1)
jobType3 = ttk.Radiobutton(radioButtons, text="Button 2"/span>, variable= self.jobNum, value=2)
content.grid( column=0, row=0)
#添加到網格中。
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()
然而,在運行程式時,沒有選擇任何單選按鈕。(程式的截圖)
除錯器確認self.jobNum的值設定正確。(除錯器的截圖)
我如何設定self.jobNum的值?
我如何設定默認值?我嘗試了很多方法,包括在創建和添加單選按鈕之前和之后的self.jobNum.set(),但都無濟于事。
我在這里錯過了什么?這是某種范圍的問題嗎?
uj5u.com熱心網友回復:
我懷疑這與python的垃圾收集器有關。我可以通過保存對RadioButtons(root)的參考來使這個問題消失:
root = Tk()
rb = RadioButtons(root)
root.mainloop()
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/330577.html
標籤:
