qobject相关内容

如何将 C++ 属性绑定到 QML 属性?

所以我知道如何将 QML 属性绑定到 C++ 属性,所以当 C++ 调用通知信号时,QML 会更新视图.当用户使用 UI 更改某些内容时,有什么方法可以更新 C++ 属性? 例如,我有一个组合框,我希望在用户更改组合框的值时更新一些 C++ 属性. 编辑:我所说的 C++ 属性是指 QObject 派生类中的 Q_PROPERTY 宏. 解决方案 要绑定不是在 QML 中创建( ..
发布时间:2022-01-19 23:25:51 C/C++开发

任何使用 QML 的非 QObject 类的机会

截至 向 QML 公开 C++ 类型的属性 与 QML 一起使用的类必须是 QObjects.我有没有机会使用非 QObjects (又名 POCO,不是从 QObject 派生,而是在 Qt 元系统中注册)? 如果没有,是否有一个简单的通用包装系统来使我的对象符合 QML.我能想到的一种方法是将动态属性添加到一个简单的QObject. 或者有没有办法隐式转换为符合 QML 的类型,所 ..
发布时间:2022-01-19 23:11:42 C/C++开发

如何将用于计算的 C++ 结构暴露给 Qml

我有以下问题. 我正在开发一个 C++ 模型和一个 Qml 视图,通过控制器连接它们.在我的模型中,我执行多个计算.我还为我的应用程序的用户提供了编写自定义事件处理程序的可能性,用 qml 编写.现在我遇到了一个点,我决定使用定点表示法,并且我编写了一个相应的 C++ 类.现在我想向决定在 Qml 中扩展我的应用程序的开发人员提供 FixedPoint 类 - 包括它的所有运算符.到目前为止 ..
发布时间:2022-01-19 23:05:56 C/C++开发

QObject 到底有多重?

我最近发布了一个关于 QObject 在典型使用场景中的开销的问题,但不幸的是,该问题与另一个在技术上没有回答问题的问题重复. 更糟糕的是,礼貌地冲过去结束我的问题的仓促的“撒玛利亚人"打断了我在运行了几次测试后刚刚完成打字的答案.由于我无法再在原始问题中发布我的发现,我将其发布在这里,以便其他可能需要该信息的人可以使用. 解决方案 很多人都暗示 QObject 很重,但并不清楚它到 ..
发布时间:2021-12-09 17:10:05 C/C++开发

如何在 Qt 中复制对象?

我正在使用 Qt 并且有一些真正的基本问题.我创建了自己的小部件 MyTest,它有一个变量 obj.我需要从小部件外部的对象设置这个变量 obj 以便变量被复制而不仅仅是指向另一个对象的指针.我收到一条错误消息,但不知道如何做这些基本的事情.这是我正在使用的代码: MyTest.h: class MyTest : public QWidget{Q_OBJECT民众:void setObj ..
发布时间:2021-12-09 16:27:09 其他开发

什么时候应该使用 Q_OBJECT?

文档指出: Q_OBJECT 宏必须出现在类定义的私有部分声明自己的信号和插槽或使用其他服务由 Qt 的元对象系统提供. 但是正是这是什么意思?在哪些 QObject 派生类上我可以安全地省略它?如果在 QObject 派生类上省略 Q_OBJECT,然后从该类继承,会出现问题吗?基本上,我想了解更多有关何时可以从 Qt 类中省略它的信息. 解决方案 对于从 QObject 派 ..
发布时间:2021-12-09 16:24:15 C/C++开发

如何从 QML 中创建新窗口?

有没有办法创建一个全新的窗口实例,作为 QmlApplication 中主 QML 窗口的子窗口? //ChildWindow.qml长方形 {id:子窗口宽度:100高度:100//东西}//main.qml长方形 {编号:窗口宽度:1000高度:600鼠标区域{anchors.fill:父级onClicked: createAWindow(childWindow);}} 我试图避免编写 Q ..
发布时间:2021-09-25 19:32:49 其他开发

Visual C++ 中的 Q_OBJECT 问题

我从我们的客户那里收到了一个基于 Visual C++ QT 的项目.我已经安装了 QT 库,然后我编译了项目.项目编译没有任何问题. 现在,我需要在现有项目中包含一个新的附加 GUI 界面.我在 QT 设计器中创建了一个 GUI,然后保存在 VC++ 项目的源目录中.然后我为新的 GUI 编写了 .h 和 .cpp 文件,并且可以调用这个接口.现在,当我在 .h 文件中包含 Q_OBJEC ..
发布时间:2021-09-18 19:18:38 其他开发

在 Qt 中检查 QObject 派生类类型的正确方法

假设我有两个类: class A : public QObject {};B 类:公共 QObject {}; 那我去 QObject *a = new A();QObject *b = new B(); 现在,我如何确保“a"是 A 类的实例,而“b"是 B 类的实例? 目前我做这样的事情: if (a->inherits(A::staticMetaObject.classNam ..
发布时间:2021-09-11 20:06:35 其他开发

QSharedPointer 和 QObject::deleteLater

我有一种情况,QSharedPointer 托管对象表示它已经完成了它的目的并且准备好很快删除(执行后离开函数发出我的 readyForDeletion 信号).当使用普通指针时,我只需要在对象上调用QObject::deleteLater,但是使用QSharedPointer是不可能的-托管实例.我的解决方法如下: template类 QSharedPointerContainer : 公共 ..
发布时间:2021-07-23 20:31:43 C/C++开发

获取在应用程序中创建的所有 QObject 的列表

要获取在应用程序中创建的所有 QWidget 的列表,我们可以简单地调用 QApplication::allWidgets(). 我已经阅读了文档,但我没有找到类似的内容来获取所有 QObject 的列表.如果应用程序创建了不是 QWidgets 的独立 QObjects,我就没有这样的功能可以使用. 有没有办法获得这样的列表? 解决方案 首先了解 QObject 和 QWid ..
发布时间:2021-06-30 19:44:05 其他开发

如何正确删除和终止 QThread

我有一个继承自 QThread 的子类 MyClass. 我像这样用 MainWindow 实例的父级创建它(这个): mMyClass = new MyClass("some_value", 1, 5L, this); 我对 Qt 如何处理对象删除的理解是,当父对象被删除时,每个具有父对象的 QObject 都会被删除. 如果我的程序完成了,我会收到一个警告 QThread: D ..
发布时间:2021-06-30 18:56:56 C/C++开发

在 QObjects 之间跨不同线程连接信号/插槽

我想知道在 MainWindow 的构造函数中创建的两个 QObjects 之间连接信号/插槽的最佳实践是什么,但稍后移动到不同的线程......当我使用选项 连接时,默认连接似乎不起作用Qt::Directconnection 事情开始工作...但有时信号/插槽失败...以下是我的代码模式...请告诉我是否需要更改我的类设计... MainWindow.cpp MainWindow::M ..
发布时间:2021-06-30 18:56:51 其他开发

如何强制 PyQt5 用于 QObject 类?

我正在使用 Python 3 和 PyQt5 开发一个小型图形应用程序.在我使用的第一台计算机上,只安装了 PyQt5,我的代码中的一切都很好.但是,当我想在安装了 PyQt4 和 PyQt5 的另一台笔记本电脑上运行我的代码时,出现以下错误: RuntimeError: PyQt5.QtCore 和 PyQt4.QtCore 模块都封装了 QObject 类 Python 解释器在从主文件调 ..
发布时间:2021-06-24 19:57:05 Python

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

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

没有与QObject :: connect匹配的功能

我正在编写一个程序,每10毫秒发送一个UDP帧.这是我的程序应该如何工作的: 我有一个客户端类: //构造函数clientSupervision :: clientSupervision(){}无效的clientSupervision :: sendDataUDP(){//创建一个框架并发送...}void clientSupervision :: sendDataUDPTimer(int ..
发布时间:2021-04-19 19:35:34 C/C++开发