HMHx2_YY 2017-09-16 15:29 采纳率: 50%
浏览 1260
已采纳

请各位大佬帮看看问题出在哪里~~使用PyQt的设计师 信号与槽不响应

点击 “求解”按钮之后,为什么不输出结果? connect()函数不是已经连接了要响应的函数了吗?

图片说明

#!/usr/bin/python3

-*- coding: UTF-8 -*-

from PyQt5.QtWidgets import QWidget,QApplication
from PyQt5 import uic
from qua_rc import Ui_MainWindow
import sys
import numpy

#qtCreatorFile = "qua.ui"
#Ui_MainWindow,QtBaseClass = uic.loadUiType(qtCreatorFile)

class MyWindow(QWidget,Ui_MainWindow):
def init(self):
super(MyWindow,self).__init__()
self.setupUi(self)

    self.calc_qua_button.clicked.connect(self.quadretic)

def quadretic(self):
    a = self.a_box.toPlainText().toDouble()
    b = self.b_box.toPlainText().toDouble()
    c = self.c_box.toPlainText().toDouble()
    p = numpy.poly1d([a, b, c])
    L = p.r
    self.result1_window.setText(str(L[0]))
    self.result1_window.setText(str(L[1]))

if name == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())

  • 写回答

2条回答

  • 「已注销」 2017-09-22 07:41
    关注

    Hello, 你百度发的私信为何回复不了?
    你上面的代码有问题
    问题1:
    获取QlineEdit值用:QLineEdit.text(),
    获取QTextEdit值用:QTextEdit.toPlainText()
    问题2:
    QlineEdit没有toDouble方法
    问题3:
    一元二次方程接收两个值的text,你只给result1赋值了,你让result2 怎么想

    修改代码如下:

     #!/usr/bin/python3
    # -*- coding: UTF-8 -*-
    from PyQt5.QtWidgets import QWidget,QMainWindow,QApplication
    from PyQt5 import uic
    from qua_rc import Ui_MainWindow
    import sys
    import numpy
    #qtCreatorFile = "qua.ui"
    #Ui_MainWindow,QtBaseClass = uic.loadUiType(qtCreatorFile)
    class MyWindow(QWidget,Ui_MainWindow):
        def __init__(self):
            super().__init__()
            self.setupUi(self)
            self.calc_qua_button.clicked. connect(self.quadretic)
    
        def quadretic(self):
            a = self.a_box.text()
            b = self.b_box.text()
            c = self.c_box.text()
            p = numpy.poly1d([a, b, c])
            L = p.r
            self.result1_window.setText(str(L[0]))
            self.result2_window.setText(str(L[1]))
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        window = MyWindow()
        window.show()
        sys.exit(app.exec_())
    

    执行结果:
    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?