QT入门

1.介绍.pro文件

QT += core gui //QT包含的模块,core和gui,可以在这里添加其他模块

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets //greaterthan(大于)

TARGET = practice //目标,生成的.exe的名称
TEMPLATE = app //模板 应用程序模板 Application

SOURCES += main.cpp\ //源文件
mywidget.cpp

HEADERS += mywidget.h //头文件

在这里插入图片描述
QT5版本以上QT widget和GUI是同一模块,后来才分成了两个模块。

2.介绍头文件

#ifndef MYWIDGET_H
#define MYWIDGET_H

#include //包含头文件 Qwidget 窗口类

class myWidget : public QWidget //继承
{
Q_OBJECT //宏 允许类中使用信号和槽的机制

public:
myWidget(QWidget *parent = 0); //构造函数(有参)
~myWidget();
};

#endif // MYWIDGET_H

3.书写规则

类名 首字母大写 单词和单词之间首字母大写
函数名 变量名称,首字母小写 ,单词和单词之间首字母大写

4.快捷键

注释 ctrl + /
运行 ctrl + r
编译 ctrl + b
查找 ctrl + f
整体移动 ctrl + shift + 上键或者下键
帮助文档 F1
自动对齐 ctrl + i;
同名之间的.h和.cpp之间的切换 F4

打开帮助文档

1.F1
2.左侧按键
3.在文件中打开 路径:/QT/QT5.7.0/5.7/mingw49_32/bin

5.按钮

//创建一个按钮
QPushButton *btn = new QPushButton;
btn->show();//以顶层方式弹出窗口控件
//让btn对象 依赖在 mywidget窗口中
btn->setParent(this);

//显示文本
btn->setText("第一个按钮");
//创建第二个按钮  按照控件大小创建窗口
QPushButton * btn2 = new QPushButton("第二个按钮",this)
//移动btn2
btn2->move(100,100);
//重新指定按钮大小
btn2->resize(20,20);
//重置固定窗口大小
resize(600,400);
//设置窗口大小
setFixedSize(600,400);
//设置窗口标题

setWindowTitle(“第一个窗口”);

二.对象树

1.当创建的对象在堆区时(关键字new),如果指定的父亲是QObject派生下来的类或者QObject子类派生下来的类,可以不用管理释放的操作,将对象放入到对象树中
2.一定层度上简化了内存回收机制

在这里插入图片描述

C++双冒号::的作用

1、
作用域符号::的前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分
如:A,B表示两个类,在A,B中都有成员member。那么
A::member就表示类A中的成员member
B::member就表示类B中的成员member
2、
全局作用域符号:当全局变量在局部函数中与其中某个变量重名,那么就可以用::来区分如:
char zhou; //全局变量
void sleep()

char zhou; //局部变量
char(局部变量) = char(局部变量) *char(局部变量) ;
::char(全局变量) =::char(全局变量) *char(局部变量);

3、
::是C++里的“作用域分解运算符”。比如声明了一个类A,类A里声明了一个成员函数voidf(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成voidA::f(),表示这个f()函数是类A的成员函数。例如
class CA {
public:
int ca_var;
int add(int a, int b);
int add(int a);
};

//那么在实现这个函数时,必须这样书写:
int CA::add(int a, int b)
{
return a + b;
}

//另外,双冒号也常常用于在类变量内部作为当前类实例的元素进行表示,比如:
int CA::add(int a)
{
return a + ::ca_var;
}

//表示当前类实例中的变量ca_var。

QT的窗口坐标体系

在这里插入图片描述

信号和槽

Connect(信号的发送者,发送的具体信号,信号的接受者,信号的处理(槽))
信号槽的优点:松散耦合(信号发送端 和 接收端 本身是没有关联的,通过connect连接 将两端 耦合在一起)

在这里插入图片描述

                                           ^
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学无止境2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值