为什么我的PyQt程序被执行了2次

时间:2017-10-03 18:04:26

标签: python pyqt5

class MyThread(QThread):
    def __init__(self,a,b,parent=None):
        super(QThread,self).__init__()
        self.a1 = a
        self.b1 = b

    def run(self):
         c = int(self.a1)+int(self.b1)
         time.sleep(5)
         print("Add = %s" %(c))

class MainWindow(QMainWindow,Ui_Form):

 def __init__(self):
     super().__init__()
     self.setupUi(self)
     self.radioButton_1.toggled.connect(lambda:self.test(self.radioButton_1))


 def test(self,rbutton):
      print('1')   
      add = rbutton.text()[-1]
      radioname = "RadioButton" + str(add)
      if rbutton.text() == radioname:
                                if add == "1":
                                        a = self.lineEdit.text()
                                        b = self.lineEdit_7.text()
                                        self.thread = MyThread(a,b)
                                        self.thread.start()

第一个问题,当我输入例如我的lineEdit中的10和10我得到了这个结果。

1
1
Add = 20Add = 20

为什么它似乎要运行两次?

第二个问题令人难以置信。如果我按下单选按钮时删除print('1'),gui崩溃(“Python已停止工作”)

0 个答案:

没有答案