Использование Python PyQT4 слотов и сигналов в Monkey Studio - PullRequest
0 голосов
/ 12 января 2011

Я пишу свое первое приложение с графическим интерфейсом, используя PyQT4 и Monkey Studio ide.

Я сделал диалог (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 Ответ

2 голосов
/ 12 января 2011

Оказывается, мне также пришлось импортировать from PyQt4.QtCore import *, что позволило мне использовать @pyqtSlot().

без кавычек, потому что это вызвало бы еще одну ошибку C ++.

...