什么是SLOT()SLOT()成员

时间:2014-07-02 21:20:28

标签: python qt qt4 pyqt pyqt4

我正在尝试使用以下内容向QsciScintilla textEdit窗口中的自定义右键单击上下文菜单添加选项:

fileMenu.addAction(self.ui.textEdit_one.tr("&Get"), self, self.addToConfig)

其中addToConfig是我的应用程序的方法或“槽”。 fileMenu需要以下格式:

QAction QMenu.addAction (self, QString text, QObject receiver, SLOT()SLOT() member, QKeySequence shortcut = 0)

我尝试过使用QtCore.SLOT('self.addToConfig()')的许多组合,但似乎无法获得正确的格式。

我不断变化:

QMenu.addAction(QString, QObject, SLOT(), QKeySequence shortcut=0): argument 3 has unexpected type 'instancemethod'

Object::connect: No such slot StartQT4::addToConfig()
Object::connect:  (receiver name: 'EditorWindow')

1 个答案:

答案 0 :(得分:1)

您正在尝试将旧式信号/插槽与新式信号/插槽混合使用。对于旧式连接,您可以将对象(self)作为一个参数传递,下一个是SLOT('addToConfig(<arg types...>)')

但是,您应该只使用新的样式连接,这意味着只需调用fileMenu.addAction(self.ui.textEdit_one.tr("&Get"), self.addToConfig),请参阅:http://pyqt.sourceforge.net/Docs/PyQt4/qmenu.html#addAction-5