我正在使用PyQt4,并希望设置一个单选按钮列表,根据选择设置变量值。很显然,我可以用大量的IF语句(10个单选按钮)来完成它,但我认为必须有一种优雅的方式来做到这一点。
在psuedocode中澄清:
radiobutton1 = 52
radiobutton2 = 31
radiobutton3 = 773
if radiobutton1 x = 52
if radiobutton2 x = 31
if radiobutton3 x = 773
答案 0 :(得分:1)
尝试这个或类似的东西,迭代你的小部件集:
for i in range(1,4):
widgetname = 'radiobutton' + str(i)
if widgetname.isChecked():
return widgetname.value
您还可以在列表中设置单选按钮集并进行迭代 通过这个对象列表而不是使用字符串操作。 例如:
rb_list = [ rb1, rb2, rb3 ] # where items are your radio buttons
#these can be appended to the list when the objects are created
def rb_check(rbl=rb_list):
for rb in rbl:
if rb.isChecked():
print("RadioButton", rb, "is checked.") # or return value
希望有所帮助。