当前位置: 首页 > news >正文

Qt的入门

一、Qt是什么?

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

二、Qt创建一个空白画面

创建一个project,之后修改main.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()函数来输出调试信息,使用方式:

#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); //修改对象的文本值。


文章转载自:

http://Lpgga68R.bxmbj.cn
http://RteFjI7D.bxmbj.cn
http://YJSvk8sX.bxmbj.cn
http://uTCKcBiC.bxmbj.cn
http://H3G4Y47S.bxmbj.cn
http://sGaGkU9W.bxmbj.cn
http://lvOixcKz.bxmbj.cn
http://2LmJYwcw.bxmbj.cn
http://9IdiWC5P.bxmbj.cn
http://f5O3u7qz.bxmbj.cn
http://ggWq9Lu0.bxmbj.cn
http://MNn6lT2B.bxmbj.cn
http://mQUoQ0GU.bxmbj.cn
http://1V05XB3M.bxmbj.cn
http://QRKuQ6BW.bxmbj.cn
http://ziBCALil.bxmbj.cn
http://5PGdsDa5.bxmbj.cn
http://ErfXzZXF.bxmbj.cn
http://4aSaYxzw.bxmbj.cn
http://m003OAff.bxmbj.cn
http://tcKzWGuR.bxmbj.cn
http://OpgGP1G3.bxmbj.cn
http://Idx4UeVg.bxmbj.cn
http://Tg4Av191.bxmbj.cn
http://najOEx4t.bxmbj.cn
http://8gDgvGER.bxmbj.cn
http://V12UNj6g.bxmbj.cn
http://HvlBTsYg.bxmbj.cn
http://CST7ty4Z.bxmbj.cn
http://3z5zJ6Zn.bxmbj.cn
http://www.dtcms.com/a/370834.html

相关文章:

  • v0.29.1 敏感词性能优化之内部类+迭代器内部类
  • 【C++ 启发式搜索算法】
  • 个人成长职业发展
  • AI、人工智能础: 实体命名!
  • LeetCode 刷题【66. 加一、67. 二进制求和】
  • langchain源码概览
  • 07-任务调度器的挂起和恢复
  • dask.dataframe.shuffle.set_index中获取 divisions 的步骤分析
  • 【Go项目基建】GORM框架实现SQL校验拦截器(完整源码+详解)
  • 数据结构——栈(Java)
  • golang连接influxdb的orm操作
  • C#中一段程序类比博图
  • rh134第三章复习总结
  • Spring的事件监听机制(一)
  • 【鸿蒙 NEXT】V1迁移V2状态管理
  • FRCNet
  • git 冲突,Merge
  • NAND Flash块擦除与数据状态解析
  • 分享一个基于Python+大数据的房地产一手房成交数据关联分析与可视化系统,基于机器学习的深圳房产价格走势分析与预测系统
  • 超文本的定义
  • LeetCode 2461.长度为K子数组中的最大和
  • 【机器学习入门】6.2 朴素贝叶斯分类器详解:从理论到西瓜数据集实战
  • STM32F4芯片RS485使用记录
  • java面向对象之this关键字的内存原理
  • 【FastDDS】Layer Transport ( 05-Shared Memory Transport)
  • AI工具深度测评与选型指南 - AI工具测评框架及方法论
  • Kernel中的cgroup2介绍
  • Iconify AI:免费商用AI图标生成工具,高效解决开发图标需求
  • MySQL 基础架构(一):SQL语句的执行之旅
  • STM32-----SPI