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条)

报告相同问题?

悬赏问题

  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决