【问题标题】:arguments did not match any overloaded call参数不匹配任何重载调用
【发布时间】:2017-05-10 20:13:41
【问题描述】:

当我在我的控制器上工作时,我正在使用 python 和 qt 设计器我有这个错误:

文件“/home/sabri/Bureau/PycharmProjects/PFE/Controller/Cat.py”, 第 14 行,在 init 中 self.ui.AddBtn.connect(self.add) TypeError:参数不匹配任何重载调用:QObject.connect(QObject, SIGNAL(), QObject, SLOT(), Qt.ConnectionType=Qt.AutoConnection): 参数 1 有 意外类型'instancemethod' QObject.connect(QObject, SIGNAL(), 可调用,Qt.ConnectionType=Qt.AutoConnection):参数 1 有 意外类型'instancemethod' QObject.connect(QObject, SIGNAL(), SLOT(), Qt.ConnectionType=Qt.AutoConnection): 参数 1 有 意外类型“实例方法”

这是我第一次得到这个错误,有什么问题! 这是我的代码:

from PyQt4 import QtCore, QtGui
from PFE.Classes.categorie import Category
from PFE.Interfaces.Categorie import Ui_Categorie_2

class Window(QtGui.QDialog):

    def __init__(self):
        QtGui.QApplication.__init__(self)
        self.ui = Ui_Categorie_2()
        self.ui.setupUi(self)
        self.ui.AddBtn.connect(self.add)


    def add(self):
        a = str(self.ui.textEdit.toPlainText())
        b = str(self.ui.textEdit_2.toPlainText())
        cat=Category(a, b)
        cat.save_to_db()
        print ("ajout avec success ")



if __name__ == '__main__':
    import sys
    app = QtGui.QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())

【问题讨论】:

  • 请更正您的缩进。
  • 你的 PyQt 版本是什么?

标签: python qt pyqt pyqt4


【解决方案1】:

信号与其槽的连接方式如下:

{sender}.{signal}.connect({slot})

考虑到AddBtn 是一个按钮,并且您想使用点击信号,您的代码应如下所示:

self.ui.AddBtn.clicked.connect(self.add)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-12
    • 2016-12-16
    • 2018-04-02
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多