当我在我的控制器上工作时,我正在使用python和qt designer我有这个错误:
文件" /home/sabri/Bureau/PycharmProjects/PFE/Controller/Cat.py", 第14行,在 init 中 self.ui.AddBtn.connect(self.add)TypeError:arguments与任何重载调用都不匹配:QObject.connect(QObject,SIGNAL(), QObject,SLOT(),Qt.ConnectionType = Qt.AutoConnection):参数1有 意外类型' instancemethod' QObject.connect(QObject,SIGNAL(), callable,Qt.ConnectionType = Qt.AutoConnection):参数1有 意外类型' instancemethod' QObject.connect(QObject,SIGNAL(), SLOT(),Qt.ConnectionType = Qt.AutoConnection):参数1有 意外类型' instancemethod'
这是我第一次收到此错误,问题是什么! 这是我的代码:
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_())
答案 0 :(得分:0)
将信号与其插槽连接的方法如下:
{sender}.{signal}.connect({slot})
考虑到AddBtn
是一个按钮,您想使用点击的信号,您的代码应如下所示:
self.ui.AddBtn.clicked.connect(self.add)