qmetaobject相关内容

是否可以断开所有QObject的连接而不删除它

我有一个QObject A,它连接到另一个QObjectB.现在我希望A连接到C,第三个QObject并与B完全断开连接. 轻松自如!麻烦的是我有很多A,每个A都有自己的信号和插槽集(B/C比较通用).到目前为止,我一直在为每种不同的类类型手动进行连接和断开连接的方法.这些方法基本上是彼此的副本,将 connect 交换为 disconnect 调用,与 QObject 和 ..
发布时间:2021-04-19 21:03:13 C/C++开发

如何从插槽中找出哪个信号调用了该插槽?

我的意思是,如果我有许多不同的信号连接到同一插槽.我看到了这个问题,但无法理解链接答案.能给我一个简单的例子吗? 解决方案 我认为您可以使用此方法: [protected] int QObject :: senderSignalIndex()const 根据Qt文档: 返回调用当前正在执行的插槽的信号的元方法索引,该信号是sender()返回的类的成员.如果在信号激活的插槽之外 ..
发布时间:2021-04-19 21:01:33 C/C++开发

无法在CMake项目中使用Q_OBJECT宏

我在CMake项目中遇到了Qt的元对象编译器的问题。我正在构建的共享库包含以下代码,并使用pimpl习惯用法。调用CMake并编译后,我得到 AUTOGEN:错误:〜/ tools / Project / gui / src / mainWindow.cpp: 文件包含一个Q_OBJECT宏,但不包含“ mainWindow.moc”! gui / CMakeFiles / gui_au ..
发布时间:2020-10-03 20:53:00 C/C++开发

如何从类名称中找到Qt元对象实例?

在给定类名的情况下,是否可以找到类的QMetaObject实例?我想做的是从磁盘加载对象,但是要实现这一点,我需要一种使用类名检索QMetaObject实例的方法,以便使用QMetaObject创建实例. 解决方案 您应该可以使用 QMetaType .您可能需要Q_DECLARE_META_TYPE()和/或qRegisterMetaType()才能知道您的类型.然后,它应该大致类似于本 ..
发布时间:2020-05-09 01:53:13 其他开发

如何去序列化一个大的,复杂的对象?

我有一个“用户”类,有40多个私有变量,包括复杂的对象,如私钥/公钥(QCA库),自定义QObject等。类有一个称为 sign()的函数,该函数加密,签名,序列化自身并返回一个 QByteArray 在SQLite blob。 序列化复杂对象的最佳方法是什么?使用 QMetaObject 迭代属性?将它转换为protobuf对象? 是否可以转换为字符数组? 解决方案 是否 ..
发布时间:2016-10-20 22:47:41 C/C++开发