Qt笔记
文章平均质量分 88
強云
这个作者很懒,什么都没留下…
展开
-
Qt多线程
Qt 提供了多种方式来处理多线程编程,它不仅使多线程操作更易于管理,还与 Qt 的事件驱动架构紧密集成。下面是 Qt 多线程编程的详细介绍,包括关键类、模式以及常见的使用场景。原创 2024-08-29 14:22:00 · 899 阅读 · 1 评论 -
工业软件架构4:(QT和C++实现)
定义任务类,任务在执行前需要先检查依赖管理器,以决定是否可以开始执行。public:// 模拟任务A的耗时操作private:public:// 等待任务A完成// 模拟任务B的耗时操作private:public:// 等待任务A完成// 等待任务B完成// 模拟任务C的耗时操作private:通过引入 TaskDependencyManager 来管理任务之间的依赖关系和状态,可以确保任务按照预期的顺序执行,并防止在不适当的情况下启动某些任务。原创 2024-08-28 09:48:24 · 430 阅读 · 0 评论 -
工业软件架构2:(QT和C++实现)
首先,我们定义一个 Command 接口,该接口声明了 execute() 方法。public:命令模式通过将操作封装为对象,解耦了请求的发出者与接收者,使得系统具有更好的灵活性和可扩展性。需要对操作进行参数化:将操作封装为命令对象,允许操作参数化。需要在不同时间执行操作:命令对象可以在创建时延迟执行,或者通过队列机制进行排队执行。需要支持撤销/重做:命令对象可以记录操作状态,允许撤销和重做操作。需要记录日志:通过命令模式,可以轻松记录操作日志,并在需要时重放这些操作。原创 2024-08-26 17:23:52 · 1347 阅读 · 0 评论 -
工业软件架构1:(QT和C++实现)
这个架构充分考虑了实时性、模块化、和可扩展性,适应了复杂硬件环境下的多功能需求。模块化设计:各个功能通过模块化设计进行管理,减少耦合度,增加系统的灵活性。事件驱动:事件总线在各模块间传递事件,实现模块间的松耦合和实时通信。实时响应:传感器数据、硬件状态和按键操作均通过事件总线实时更新,确保系统的及时响应。界面管理:使用 QStackedWidget 管理多个页面,并通过事件总线实现页面的动态切换和更新。参数管理:文件系统与应用程序参数保持同步,确保参数的一致性和持久性。原创 2024-08-26 16:32:52 · 1172 阅读 · 0 评论 -
使用 QThread 而不是 std::thread
对于绝大多数基于 Qt 的应用程序开发,特别是涉及到 UI 和信号槽机制的场景,QThread 提供了更好的集成、简化的线程管理以及丰富的功能支持。因此,使用 QThread 通常是更好的选择。原创 2024-08-26 15:40:29 · 664 阅读 · 0 评论 -
Qt动态调用 - QMetaObject::invokeMethod
动态调用是 Qt 的元对象系统的一项强大功能,它允许在运行时通过名称调用槽函数、信号和普通成员函数。这种能力对于构建灵活和可扩展的应用程序非常有用,比如插件系统或脚本接口。原创 2024-08-08 15:05:29 · 761 阅读 · 0 评论