- 博客(155)
- 收藏
- 关注
原创 Qt的多语化
比如open翻译为打开,后面加上(&o),&的意思是翻译成功后按alt键字母o下面会会出现下划线。加入的目的是为了使用笔记本电脑时候,没有鼠标时候的方便,可以按alt+o实现操作。注意:每次更新完翻译,都要重新发布一次。将生成的ts文件添加进工程。如何加入英文和下划线。
2024-01-26 21:21:35
442
原创 Qt子工程的建立
此时子工程文件时空的,如果需要添加文件,右键子工程,点击添加现有文件,选择想添加的文件即可。例如:在项目外将文件夹中的.pro项目改为.pri。这样student子工程就添加成功了。在项目文件中加入如下代码。
2024-01-22 19:06:33
582
原创 Qt foreach用法用法介绍
Qt foreach语法结构可以方便快捷地遍历各种容器类型,减少开发过程中的代码出错概率。在编写代码时应注意,不要在遍历过程中修改容器,并注意使用auto关键字简化代码。
2024-01-15 12:33:46
3708
原创 Qt多媒体库和音乐播放器Demo思路
多媒体库的一些类使用的时候要在工程文件中加入多媒体库QMediaPlayer简述播放音乐程序音乐播放器demo的思路利用样式表进行界面优化加入皮肤文件到当前项目中右键项目添加现有文件将qrc文件导入复制css中的代码选择顶层窗体改变样式表将代码粘贴进去未更改的标签从pixmap中修改单独添加资源进去界面最大化最小化关闭代码界面移动效果代码媒体播放列表
2024-01-15 12:26:45
445
原创 Qt Demo记事本中的一些代码思路
1.在文本区域内能够编辑文字2.打开文件的操作3.读取文件的操作4.保存文件的操作5.另存为文件的操作6.加入关闭事件处理函数,用来方式误关闭文件导致文件丢失
2024-01-07 12:31:25
403
原创 OpenGL用Qt实现
开放图形库或者是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个接口由近350个不同的函数调用组成,用来绘制从简单的图形到比较复杂的三维景象。
2023-12-30 17:58:39
829
原创 什么是大端法和小端法?
在几乎所有的机器上,多字节对象都被存储为连续的字节序列,对象的地址为所使用字节中的最小地址。例如,假设一个类型为int的变量x的地址为0x100,即&x的值为0x100。那么x的4个字节将被存储在存储器的0x100,0x101,0x102和0x103的位置。字节序即为多字节对象存储在内存中的字节顺序,有两种不同的存储方案:大端法和小端法。现代的处理器大多为双端法,大小端都支持,可以配置称大端法或者小端法。
2023-12-28 11:31:42
565
原创 显示构造函数中explicit关键字的作用
在 C++中, explicit。加入explicit关键字后。没加explicit关键字。explicit 作用。
2023-12-28 08:03:33
367
原创 多继承语法&菱形继承
虚继承继承的是两个虚表指针,两个虚表指针加上偏移量指向唯一的基类。草泥马继承自动物的数据继承了两份,其实我们应该清楚,这份数据我们只需要一份就可以。羊继承了动物的数据,驼同样继承了动物的数据,当草泥马使用数据时,就会产生二义性。利用虚继承可以解决菱形继承问题,继承之前加上关键字virtual,变为虚继承。菱形继承带来的主要问题是子类继承两份相同的数据,导致资源浪费以及毫无意义。总结: 多继承中如果父类中出现了同名情况,子类使用时候要加作用域。这种继承被称为菱形继承,或者钻石继承。两个派生类继承同一个基类。
2023-10-05 14:55:24
103
原创 继承的基本语法
有些类与类之间存在特殊的关系,例如下图中:我们发现,定义这些类时,下级别的成员除了拥有上一级的共性,还有自己的特性。这个时候我们就可以考虑利用继承的技术,减少重复代码。
2023-10-05 08:43:37
531
原创 友元&运算符重载&仿函数
C++标准程序库》里对仿函数的解释是:仿函数是泛型编程强大威力和纯粹抽象概念的又一例证。你可以说,任何东西,只要其行为像函数,它就是一个函数。因此如果你定义了一个对象,行为像函数,它就可以被当做函数来用。在程序里,有些私有属性 也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术。运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。,增强了C++的可扩充性,使代码更加直观、易读,便于对对象进行各种运算操作。友元的目的就是让一个函数或者类访问另一个类中私有成员。
2023-10-04 14:21:15
97
原创 C++对象模型和this指针
常函数内不可以修改成员属性(常函数的const修饰的是this指针,this指针本身是一个指针常量,指针的指向不可以修改,加上const以后,指针的值也不可以修改了)每一个非静态成员函数只会诞生一份函数实例,也就是说多个同类型的对象会共用一块代码。C++中空指针也是可以调用成员函数的,但是也要注意有没有用到this指针。c++通过提供特殊的对象指针,this指针,解决上述问题。this指针的本质是一个指针常量,指针的指向不可修改。在C++中,类内的成员变量和成员函数分开存储,常对象只能调用常函数。
2023-10-03 14:58:32
57
原创 初始化列表&类对象&静态成员
构造的顺序是 :先调用对象成员的构造,再调用本类构造。析构顺序与构造相反。静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员。当类中成员是其他类对象时,我们称该成员为。C++提供了初始化列表语法,用来初始化属性。静态成员函数只能访问静态成员变量。所有对象共享同一份数据。所有对象共享同一个函数。类内声明,类外初始化。
2023-10-03 07:54:18
47
原创 深拷贝和浅拷贝
如果属性有在堆区开辟的,一定要自己提供拷贝构造函数,防止浅拷贝带来的堆区重复释放问题。浅拷贝:简单的赋值拷贝操作,编译器提供的 就是一个简单的赋值操作。p2先释放,p1后释放,析构顺序遵寻先进后出。深拷贝:在堆区重新申请空间,进行拷贝操作。析构函数作用:堆区有数据时,要进行释放。
2023-10-03 07:41:58
43
原创 类和对象中的封装性
类在设计时,可以把属性和行为放在不同的权限下,加以控制。将所有成员属性设置为私有,可以自己控制读写权限。在设计类的时候,属性和行为写在一起,表现事物。将属性和行为作为一个整体,表现生活中的事物。在C++中 struct和class唯一的。对于写权限,我们可以检测数据的有效性。封装是C++面向对象三大特性之一。protected 保护权限。struct 默认权限为公共。class 默认权限为私有。将属性和行为加以权限控制。private 私有权限。public 公共权限。
2023-10-02 14:14:38
56
原创 在C++中多使用const的理由
它可以保护数据的不变性,增强接口的安全性,为编译器优化提供线索,以及定义不改变成员变量的成员函数。在阅读代码时,我们可以立即知道哪些变量是常量,哪些变量可以被修改。编译器知道const变量的值不会改变,因此它可以进行一些优化,比如将const变量存储在只读内存中,或者进行常量折叠等。当我们在函数参数中使用const时,可以保证在函数内部不会改变输入参数的值,这对于大型对象特别有用,因为它避免了不必要的拷贝。由于const变量的值是固定的,编译器可以在编译时进行优化,例如在计算过程中进行常量折叠或提前计算。
2023-10-02 09:17:24
80
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人