2014-06-21 86 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