在Monkey Studio中使用Python PyQT4插槽和信号

时间:2011-01-12 12:21:22

标签: python pyqt pyqt4

我正在使用PyQT4和Monkey Studio ide编写我的第一个GUI应用程序。

我创建了一个对话框(mainwindow.ui),其中包含一个按钮,可将信号clicked()发送到MainWindow的插槽slot1()

这是MainWindow代码:

from PyQt4 import uic

(Ui_MainWindow, QMainWindow) = uic.loadUiType('mainwindow.ui')

class MainWindow (QMainWindow):
    """MainWindow inherits QMainWindow"""

    def __init__ (self, parent = None):
        QMainWindow.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

    def __del__ (self):
        self.ui = None

    def slot1(self):
        print "Test"

不起作用:AttributeError: 'MainWindow' object has no attribute 'slot1'

我尝试在@pyqtSlot("")之前添加def slot1(self),但是我收到此错误:     NameError:名称'pyqtSlot'未定义

我也试过了@QtCore.pyqtSignature("slot1()"),没有效果。

1 个答案:

答案 0 :(得分:2)

原来我还必须导入from PyQt4.QtCore import *,这使我能够使用@pyqtSlot()

没有引号,因为这会引发另一个C ++错误。