2014-06-21 54 views
0

我正在使用PyQt4并希望设置一个单选按钮列表,用于设置取决于选择的变量值。很明显,我可以用大量的IF语句(10个单选按钮)来实现,但我认为必须有一种优雅的方式来完成它。绑定变量PyQt单选按钮

要澄清伪代码:

radiobutton1 = 52 
radiobutton2 = 31 
radiobutton3 = 773 

if radiobutton1 x = 52 
if radiobutton2 x = 31 
if radiobutton3 x = 773 

回答

1

尝试这个或类似的东西,通过你的widget集迭代:

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 

希望有帮助。

+0

谢谢!这个更好!很棒! – user2177088