5个单选按钮迭代的31个QButtonGroups

时间:2018-07-12 13:05:46

标签: python pyqt pyqt4 qt-designer qradiobutton

请需要一些帮助。 我正在为我们正在使用的某些设备建立接口,因此实际的通讯和信息很容易分类。我正在尝试通过单选按钮检查来减小代码大小。这是GUI。

GUI显示

我想使用单选按钮来选择与每个输出关联的警报。目前,我必须编写31个函数,它们都将执行相同的扫描工作以检测选择了哪个单选按钮。

    for i in range (len(Coms)):
        self.Com_List.addItem(Coms[i])
    self.DA1_7.setChecked(True)
    self.Com_List.currentIndexChanged.connect(self.COMselect) 
    self.Baud_Com.currentIndexChanged.connect(self.Baudselect) 
    self.DA1.buttonClicked.connect(self.Row1)
    self.DA2.buttonClicked.connect(self.Row2)
    self.DA3.buttonClicked.connect(self.Row3)   

    self.SerialCon_Btn.clicked.connect(setSerial)       
    self.SysInfo_Btn.clicked.connect(self.GetSysInfo)

def Row1(self):
    indexOfChecked = [self.DA1.buttons()[x].isChecked() for x in range(len(self.DA1.buttons()))].index(True)
    print indexOfChecked +1
def Row2(self):
    indexOfChecked = [self.DA2.buttons()[x].isChecked() for x in range(len(self.DA2.buttons()))].index(True)
    print indexOfChecked +1
def Row3(self):
    indexOfChecked = [self.DA3.buttons()[x].isChecked() for x in range(len(self.DA3.buttons()))].index(True)
    print indexOfChecked +1

QButtonGroups标记为DA1-DA31(包括DA1-DA31),我无法理解如何使用一个函数并对其进行迭代。 我使用QT设计器作为gui,并使用qtCreatorFile调用UI文件来调用它。 预先感谢

1 个答案:

答案 0 :(得分:0)

并不是真正的答案,而是使用列表框选择了多个项目