Qt的入门

一、Qt是什么?

Qt是一个基于C++的跨平台的应用程序开发框架 。这种说法我是认可的。目前Qt的开发语言 有c++和QML,但是c++仍为主流语言。跨平台 可以理解成一次编写,到处编译。无论是安卓还是苹果,无论是windows还是linux都可以!Qt主要用于开发GUI应用程序 ,但不仅仅是GUI,也可用于后台程序或底层程序开发!开发框架是指有现成的库可供使用,不需要从零开始,可以节省时间与精力,提高开发效率!

二、Qt创建一个空白画面

创建一个project,之后修改main.cpp文件即可。

cpp 复制代码
#include <QApplication>  //一定要的头文件,代表的意思是Qt应用程序管理界面
#include <QWidget>  //是一个类的名字,表示空白界面

int main(int argc,char* argv[])//不用argc与argv也需要写上定义
{
    QApplication app(argc,argv);//实例化一个应用程序管理对象,得有他来管理所有的界面
    QWidget w;//实例化一个空白界面对象,默认不显示
    w.show();//把空白界面显示出来
    app.exec();//app对象提供了exec函数,让应用程序进入事件循环,能让程序不退出,能接收用户的各种事件(如鼠标移动,键盘输入),相当于一个死循环

    return 0;//到此程序结束
}

有关说明:

1.Qt中所有的头文件名都是以大写字母Q开头,Q后面的单词首字母也是大写的,头文件名也是类名。

2.所有的Qt界面程序都必须包含QApplication类,然后必须用该类创建一个对象,用于管理整个项目,并且一个要在所有的代码之前。

3.Qt中的类型是按功能划分成不同的模块。模块有很多,跟界面相关的主要用到如下模块:core(核心模块,其它所有的模块都依赖于此模块,默认加载)、gui(界面相关的功能模块,如字体、颜色、风格等,默认加载)、widgets(界面元素,或者叫控件,也就是所有在界面上能看到的东西,得自己添加)。

4.每个模块中都有许多类,widgets模块中最核心的类,就是QWidget类。QWidget类有两个基类及许多派生类。两个基类为:QObject(这是Qt类的层次关系中最顶层的基类,他提供了Qt最核心的功能:信号和槽,即用来实现人机交互)、QPaintDevice(这也是一个基类,该类及它的派生类能够作为绘制设备使用,即可以画图)。它的派生类可分为两类:界面类(QMainWindow(包含菜单栏、工具栏、状态栏的界面)、QDialog(对话框,其特点为生命周期比较短))、控件类(菜单、状态栏、按钮、标签、文本框。所有的控件应该出现在界面上)。

5.pro文件:所有的Qt项目中都得有一个project文件(工程管理文件),描述了整个项目中所有的东西(头文件/源文件/模块/第三方库/资源)。

6.影子构建:QtCreator默认情况下,是把项目的源码(即.h/.cpp等/.pro)与中间及结果文件(即.o/Makefile/可执行文件等)分开存放,源码就在项目文件夹中,而中间及结果文件如影随形跟着项目文件夹,与项目文件夹在同一个目录中。存放中间及结果文件的目录名:build-项目名称-编译套件名称-模式。一般称为build目录。build目录可删除,只要重新运行/构建,都会自动生成。如果是从其他地方拷贝项目中有build目录,请先删除再编译项目。还有.pro.user文件(记录了该项目的当前环境,只要编译项目,就会自动生成)也需要删除。项目生成的可执行文件名称默认与当前项目同名,存放在build下。

三、自定义界面类

1.继承已有的界面类,以下三个中选一个就行:QWidget、QMaindow、QDialog。

2.添加派生类新特性,主要是添加界面元素。

3.调整界面元素的属性(界面元素指的是所有在界面上能看到的东西,Qt中界面元素的英文叫widget,一般叫做控件)。

4.Qt中的调试输出:在Qt中可以用printf,cout来进行输出信息,但一般很少用。常用qDebug()函数来输出调试信息,使用方式:

cpp 复制代码
#include <QDebug>
qDebug()<<"hello qt";

四、常用控件

Qt自带有许多的控件,其中最常用的应该是如下三个:标签(QLabel)、按钮(QPushButton)、文本框(QLineEdit)。

1.怎么在自定义界面中添加控件(以按钮为例):

(1)在自定义的头文件中,添加按钮的头文件<QPushButton>

(2)在类声明的私有区域,创建一个对象指针。比如:QPushButton* btn_login;

(3)在类的源文件的构造函数定义中,动态创建个按钮对象。比如:btn_login=new QPushButton(this); //this表示把按钮显示在当前界面上。

(4)调整按钮的属性,如文本、位置、大小。

文本属性:text 位置属性:pos 大小属性:size

要访问控件的属性,必须使用它的访问函数(access function)。例如:文本属性的访问函数为QString text() const; //读取对象的文本值 void setText(const QString& text); //修改对象的文本值。

相关推荐
再睡一夏就好5 小时前
【C++闯关笔记】STL:list 的学习和使用
c语言·数据结构·c++·笔记·算法·学习笔记
要做朋鱼燕5 小时前
【C++】 list 容器模拟实现解析
开发语言·c++·笔记·职场和发展·list
脑洞代码5 小时前
20250905的学习笔记
笔记·学习
wan5555cn5 小时前
文字生视频的“精准”代码设定的核心原则本质是最小化文本语义与视频内容的KL散度
人工智能·笔记·深度学习·音视频
easy20205 小时前
从 Excel 趋势线到机器学习:拆解 AI 背后的核心框架
人工智能·笔记·机器学习
浊浪载清辉7 小时前
《Html泛型魔法学院:用霍格沃茨风格网页教授集合框架》
前端·javascript·学习·html
yuxb7312 小时前
Docker学习笔记(二):镜像与容器管理
笔记·学习·docker
LFly_ice13 小时前
学习React-9-useSyncExternalStore
javascript·学习·react.js
gmmi14 小时前
嵌入式学习 51单片机(3)
单片机·学习·51单片机