pyQT slot decorator 啥是 C++ 等价物

Posted

技术标签:

【中文标题】pyQT slot decorator 啥是 C++ 等价物【英文标题】:pyQT slot decorator what is the C++ equivalentpyQT slot decorator 什么是 C++ 等价物 【发布时间】:2013-09-16 17:01:47 【问题描述】:

我有一个关于 QT 和 PyQT 的初级问题。 我正在使用 Python 的 PyQt 绑定并具有以下简单代码。根据一些谷歌搜索,似乎插槽装饰器主要用于将方法显式标记到插槽。我的问题是,如果我要用 C++ 编写这段代码,等效的方法是什么?

    @QtCore.pyqtSlot()
    def openDialog(self):
        self.myDialog.show()

【问题讨论】:

【参考方案1】:

要在 C++/Qt 中创建插槽,请使用以下语法:

class MyClass : public QObject 
   Q_OBJECT

public slots:
   void mySlot(/* parameters here */); // Definition may be here or in the implementation file
;

如果您使用 no_keywords 选项(这意味着您不想将 Qt 关键字用作普通 C++ 关键字),只需将 slots 替换为 Q_SLOTS

您可以在官方文档中找到更多信息:http://qt-project.org/doc/qt-5.0/qtcore/signalsandslots.html

【讨论】:

以上是关于pyQT slot decorator 啥是 C++ 等价物的主要内容,如果未能解决你的问题,请参考以下文章

PyQt5信号-槽机制

在 Signal 和 Slot 之间传递参数时的 PyQt Unbound 方法

PyQt5系列教程信号和槽

简单理解 ES7 Decorator

pyqt5中的信号槽的使用

PyQt41 hello kitty