摘要: 第六章 事件处理 Qt的事件系统 事件的产生与派发 GUI应用程序是由事件(event)驱动的,点击鼠标、按下某个按键、改变窗口大小等都会产生对应事件.Qt为事件处理编程提供了完善的支持.QWidget定义了大量与事件处理相关的数据类型与接口函数. 事件表示应用程序中发生的操作或变化.在Qt中,事件 阅读全文
posted @ 2024-03-26 22:38 Mesonoxian 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 第五章 模型-视图结构 模型-视图结构概述 模型-视图结构是一种将数据存储和界面分离的编程方法.模型存储数据,视图组件显示模型中的数据,在视图组件里修改的数据会被自动保存到模型里. GUI程序的主要功能是可由用户在界面上编辑和修改数据,典型的如数据库应用程序.在数据库应用程序中,界面上的数据来源于数 阅读全文
posted @ 2024-03-24 23:14 Mesonoxian 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 第四章 常用界面组件的使用 在Qt类库中,所有界面组件类的字节或间接父类都是QWidget. QWidget的父类是QObject与QPaintDevice.所以QWidget是多重继承的类. QObject支持元对象系统,其信号与槽机制为编程中对象间通信提供了极大便利. QPaintDevice是 阅读全文
posted @ 2024-03-13 23:08 Mesonoxian 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 第九章 高级线程管理 注意:本章内容由于教材本身问题,例子存在较大问题.请自行在理解基础上重新设计. 在大多数系统上面,为每个可以与其他任务并行执行的任务分配一个单独的线程是不切实际的. 但线程池允许尽量充分利用硬件提供的并发性. 在线程池帮助下,可以被并发执行的任务被提交到线程池中,在线程池中被放 阅读全文
posted @ 2024-02-23 13:34 Mesonoxian 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 第八章 设计并发代码 数据划分工作 在处理开始前在线程间划分数据方面,C++与MPI或OpenMP的方式较为相似. 一个任务被分成一个并行任务集,工作的线程独立运行这些任务.并且在最后的化简步骤中合并这些结果. 尽管这种方法是很有效的,但是只有在数据可以实现划分时,才可如此. 考虑这样一种情景:快速 阅读全文
posted @ 2024-02-20 22:41 Mesonoxian 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 第三章 Qt框架功能概述 Qt全局定义 头文件<QtGlobal>包含一系列Qt框架中的全局定义.包括基本数据类型,函数与宏. 函数 qt中常用的函数包括: 函数原型 功能 T qAbs(const T&value) 返回变量value的绝对值 const T& qBound(const T& mi 阅读全文
posted @ 2024-02-17 01:06 Mesonoxian 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 第五章 C++内存模型和原子类型 无论其他语言如何,C++是一门系统编程语言.委员会希望不再需要一个比C++低级的语言. 内存模型基础 C++程序中所有的数据均是由 对象(object) 组成的. C++标准定义对象为"存储区域",经管它会为这些对象分配属于它们的类型和生存期. 无论什么类型,对象均 阅读全文
posted @ 2024-02-14 20:21 Mesonoxian 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 第二章 GUI程序设计基础 窗口相关文件 按照第一章所给提示创建一个新project,我们得到了下面的代码: widget.h: #ifndef WIDGET_H #define WIDGET_H #include <QWidget> QT_BEGIN_NAMESPACE namespace Ui 阅读全文
posted @ 2024-02-09 22:42 Mesonoxian 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 第四章 同步并发操作 等待事件 设想一个情景:你正坐在一辆从哈尔滨驶向郴州的绿皮火车上,这趟车需要耗时2天2夜,合计3000公里的路程. 于是在这里,我们将你和司机视作为两个线程.你的任务是在目的地下车,司机的任务是将车开到目的地. 假设你和司机坐在同一个车厢内,并且你是个不说话就会死的话痨( ) 阅读全文
posted @ 2024-02-07 20:12 Mesonoxian 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 第三章 在线程间共享数据 共享数据基本问题 如果所有共享数据都只读,那就没有问题. 不变量(invariants): 对特定数据结构总为真的语句.例如:"该变量表示线程数量." 修改线程之间共享数据的一个常见潜在问题就是破坏不变量. 竞争条件(race condition): 线程竞争执行各自的操作 阅读全文
posted @ 2024-02-04 16:38 Mesonoxian 阅读(7) 评论(0) 推荐(0) 编辑