- 博客(14)
- 收藏
- 关注
原创 面向对象设计原则
(1)使用封装来创建对象之间的分界层,让设计者可以在分界层的一侧进行修改,而不会对另一侧产生不良影响,从而实现层次间的松耦合。(1)高层模块(稳定)不应该依赖于低层模块(变化),二者都应该依赖于抽象(稳定)(3)减少系统中各个部分的依赖关系,从而实现"高内聚,低耦合"的类型设计方案。(2)抽象(稳定)不应该依赖于实现细节(变化),实现细节应该依赖于抽象。(2)客户程序无需获知对象的具体类型,只需要知道对象所具有的接口。(2)类模块应该是可扩展的,但是不可修改的。(2)变化的方向隐含者类的责任。
2024-02-16 18:03:26 378 1
原创 Qt 容器类
(1)Java类型迭代器:迭代器指针不是指向一个数据项,而是在数据项之间,2个类型迭代器:一个用于只读操作Iterator,一个用于读写操作Multable Iterator,eg:QListIterator、QMultableListIterator。1.Qt 容器类比STL 的容器类更轻巧、安全和便于使用,这些容器类是隐式共享和可重入的,它们进行了速度和存储优化,也是线程安全的(作为只读容器时可被多个线程访问)(3)QMultiMap: QMap 子类,处理多值映射的类,即允许存一个键对应多个值。
2024-02-13 19:40:06 385
原创 Qt 全局定义
QT_VERSION:Qt版本号数值形式,0xMMNNPP,eg:Qt 5.9.1 = 0x050901。1.<QtGlobal>头文件包含Qt类库定义的一些全局变量,包括基本数据类型、函数和宏。Q_DECL_IMPORT 、 Q_DECL_EXPORT 共享库导入、导出库内容。Q_DECL_FINAL 将虚函数定义为最终级别,不能再被重载或者一个类不能再被继承。QT_VERSION_CHECK:该宏展开为Qt版本的一个整数形式。Q_DECL_OVERRIDE 重载虚函数。2.Qt基本数据类型。
2024-02-13 18:27:27 429
原创 Qt属性系统
2.只要知道属性名,就可以通过QObject::property() 获取属性值,QObject::setProperty()设置属性,QObject::setProperty()可以在运行时定义一个新的属性(动态属性)1.Qt提供Q_PROPERTY()宏可以定义属性,是基于元对象系统实现的。
2024-02-12 23:05:19 395 1
原创 Qt元对象系统
2.Qt元对象编译器(MOC):是一个预处理器,在源程序编译前先将Qt特性转换为标准C++兼容的形式,然后再由标准C++编译器进行编译。3.Qt Core是Qt类库的核心,其他模块依赖该模块,Qt 为C++增加的特性就是在Qt Core中实现,这些扩展特性由元对象系统实现,包括信号与槽机制、属性系统、动态类型转换等。(2)在一个类的Private声明Q_OBJECT宏,可使得该类具有元对象的特性,如动态属性、信号与槽。(2)QObject::metaObject()返回类关联的元对象。
2024-02-12 22:39:29 357 1
原创 Qt Creator 快捷键
8.F1 + 光标处:调出帮助文档;或使用菜单栏下"Help"按钮;或者在系统“开始”打开Assistant单独打开帮助系统。2.F2 跟踪光标下的符号,如果是变量,跟踪到变量声明地方;如果是函数体或函数声明,可以在两者之间切换。5.F10 调试状态下单步略过,即执行当前语句。9.Ctrl + I 为选择的文字进行缩进。1.F4 同名头文件和源程序文件切换。3.Ctrl + B :编译当前项目。6.F11 调试状态下跟踪进入。7.F9 设置或取消当前行断点。
2024-02-11 21:40:51 551 1
原创 Qt 信号与槽
2.槽(Slot):对信号响应的函数,和C++一般函数一样,不同的是可以与信号进行关联,当一个槽函数与信号进行关联时,当信号被发射时,关联的槽函数被自动执行。(1)一个信号可以连接多个槽。当一个信号与多个槽关联时,槽函数按照建立连接时的顺序依次执行,当信号和槽有参数时需要写明参数类型,名称可以不用写。(4)严格情况下,信号和槽的参数个数和类型需要一致,至少信号的参数不能少于槽参数,如果不匹配,会出现编译错误或运行错误。(3)一个信号可以连接另外一个信号,这样当一个信号发射时,也会发射另外一个信号。
2024-02-07 23:26:57 467
原创 Qt 介绍
2.Qt实际上是一套应用程序开发类库,其类库有很多模块,如GUI组件模块Qt Widget、访问数据库的Qt SQL 模块、二维图表显示Qt Chart 模块、数据三维显示Qt Data Visualization 模块、网络编程Qt NetWork 模块;4.C++语言使用广泛,容易在不同平台上移植,而且生成的可执行文件执行效率高,使用Qt C++ 编写应用程序,可以是应用程序具有跨平台移植功能。1.Qt是跨平台应用开发框架,很多专业应用领域都是采用Qt C++开发;
2024-02-05 22:12:14 365 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人