0
我想從2013年開始每年動態創建單選按鈕。我已經創建了這些按鈕,但我無法檢查第一個單選按鈕(2013)。要做到這一點,我使用QtGui.QRadioButton('2013').setChecked(True)
PyQt4動態創建單選按鈕和默認檢查
我不知道我錯過了什麼?
def dynamicaly_cratede_radiobtns(self):
current_year = datetime.today().year
self.button_group = QtGui.QButtonGroup()
for i in range(2013, current_year+1):
self.button_name = QtGui.QRadioButton("{}".format(i))
self.button_name.setObjectName("radiobtn_{}".format(i))
self.verticalLayout.addWidget(self.button_name)
self.button_group.addButton(self.button_name,i)
self.button_name.toggled.connect(self.subplot_year)
QtGui.QRadioButton('2013').setChecked(True)
def subplot_year(self):
print self.button_group.checkedId()
編輯 我只是解決它通過使用如果
for i in range(2013, current_year+1):
self.button_name = QtGui.QRadioButton("{}".format(i))
self.button_name.setObjectName("radiobtn_{}".format(i))
self.verticalLayout.addWidget(self.button_name)
self.button_group.addButton(self.button_name,i)
self.button_name.toggled.connect(self.subplot_year)
if i == 2013:
self.button_name.setChecked(True)
但無論如何,爲什麼原來的方法不起作用?我認爲這是更優雅的解決方案。