4
A
回答
10
不需要你需要Q_OBJECT
来定义你想要的信号/插槽,此外需要包含正确的标题。
注意,Q_OBJECT宏是 强制该 实现信号,槽或 性质的任何对象。您还需要在源文件 上运行 元对象编译器。我们强烈推荐使用 这个宏,无论它们是否 实际使用的信号,插槽和 性能 QObject的所有子类,因为不这样做可能导致 某些功能展现 奇怪的行为。
请查看Qt文档中的各种示例以获取更多详细信息和示例代码。 Signals and Slots参考是一个很好的看看。另请参阅Object Model参考。
0
不。您将此宏添加到派生自QObject
的类。但是你仍然需要像马特所说的标题!见http://doc.qt.io/qt-5/qobject.html#Q_OBJECT
3
它们被用于两个不同的目的。
的Q_OBJECT宏必须出现在类的定义,声明自己的信号和槽的私人部分或使用通过Qt的元对象系统提供的其他服务。
如果要使用信号,插槽和其他元对象功能,则需要具有Q_OBJECT
宏。
#include<QObject>
:
这是用来包括qobject.h头文件,这样就可以使用可用的功能在类QObject
..说的如QObject::connect()
。
而要使用Q_OBJECT
宏,您必须#include <QObject>
。
相关问题
- 1. “#include <QtCore/QCoreApplication>”与“#include <QCoreApplication>”
- 2. qt #include <vector> error
- 3. 实际生成Qt Q_OBJECT类
- 4. Qt的Q_OBJECT类编译
- 5. QT:模板化的Q_OBJECT类
- 6. C++/Qt Q_OBJECT宏导致错误
- 7. 为什么Q_OBJECT宏导致问题(Qt)?
- 8. 不能#include <QQuickView>(或<QtQuick>)。
- 9. #include <cmath>
- 10. 正确使用Q_OBJECT?
- 11. 与@section laravel @include在<head>
- 12. <jsp:include或<@include或Tiles
- 13. Qt-Designer强制小写“#include <filename>”,阻止Linux构建
- 14. #include <malloc.h> - Xcode
- 15. 是否可以将模板派生的C++类与Qt的Q_OBJECT混合?
- 16. Q_OBJECT Visual C++中的问题
- 17. Q_OBJECT链接器错误!
- 18. cpp文件中的Qt,CMake,Visual Studio和Q_OBJECT
- 19. Qt Q_OBJECT在Visual Studio 2010中创建链接器错误
- 20. C++ 2010:using #include <mysql.h>
- 21. 如何不#include <windows.h>
- 22. #include或#import <objc/runtime.h>?
- 23. #include <deque> on Xcode4
- 24. 为什么我们使用`#include“stdafx.h”`而不是`#include <stdafx.h>`?
- 25. 错误:未知类型名称“的#include”的#include <stdio.h>
- 26. 可用性的#include <map>与方xIC在AIX 4.3
- 27. QWebView类有什么区别?与#include <QWebView>
- 28. Qt Quick与Qt Widget
- 29. 按ID查找<include>视图?
- 30. 约束<include>里面添加ConstraintLayout
感谢您的回复。如果可能,你能否详细解释一下这个问题? “你需要Q_OBJECT来定义你想要的信号/插槽的类定义?”谢谢 – Simplicity 2011-04-14 09:53:50
@ user588855:增加了更多的细节和信息链接。 – Mat 2011-04-14 09:58:43
请阅读Mat链接的Q_Object文档。甚至在该文档中列出了一个示例类,它显示了如何使用Q_OBJECT宏。 – CadentOrange 2011-04-14 09:58:52