我正在使用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()")
,没有效果。
答案 0 :(得分:2)
原来我还必须导入from PyQt4.QtCore import *
,这使我能够使用@pyqtSlot()
。
没有引号,因为这会引发另一个C ++错误。