QT_Study/QT学习.md
2025-05-30 16:42:24 +08:00

3.0 KiB
Raw Permalink Blame History


C++基础

1构造函数

用来初始化对象
(1)默认构造
(2)带参数构造
(3)拷贝构造函数
//带参数构造
//格式
class Student {
public:
    int m_age;//参数一
    int m_score;//参数二
    Student(int age, int score) :m_age(age),m_score(score)
        {
        	//初始化操作
        	void init();
        	void init1();
        	void init2();
        }
    
}

2析构函数

用来释放资源
//带参数构造
//格式
class Student {
public:
	~Student();
    
}

Student::~Student()
{
    delete ui;//此处我默认了ui已经由构造函数分配了堆——内存所以我要在析构函数里面释放内存
}

3成员函数

//类定义
class Student {
public:
	void inital(); 
}

//成员函数主题
void Student::inital()
{


}

QT类关系

三,信号与槽

QT定时器

QT多线程

QT实现客户端与服务器

七,代码问题

1ui界面不显示


有一个变量使用了生命周期特别长但是没有正确分配内存导致ui界面不显示
需要new一块内存用来存储
需要new的特点
1实例化对象生命周期特别长不能像变量一样随时随地用了销毁

1new 的比较C++ 视角)

特性 mallocC newC++
语言 C 语言标准库函数 C++ 操作符
初始化 不初始化,内容随机 调用构造函数,初始化对象
返回类型 void*,需强制转换 自动返回正确类型的指针
释放方式 free delete
异常处理 不支持异常 支持异常,失败时抛出 std::bad_alloc
适用场景 C 程序或需要与 C 交互的 C++ 程序 纯 C++ 程序

也就是说如果我要用到一个变量直到它生命周期结束才被销毁那么我就可以new一个对象

2内存泄漏new了但不delete

1类似“水龙头未关”代码分配了内存但未释放内存持续流出但无法回收

2打满了一桶水洗脸但是洗完脸不丢掉一直占用资源

所以new了不delete有两种后果一直在new对象的渣男或者new了对象之后就捆绑住不让放开的恋爱脑

八,打包方法

1首先发布release

2: 把exe文件拷贝出来 随便放一个位置

3 在菜单 开始那里 找到如下qt5.9 for Desktopmingw 在输入命令 就是定位你上一步放.exe文件的地方

4输入 cd <exe文件所在位置>

5输入 windeployqt <x'x'x>.exe

打包完成