Qt5开发从入门到精通——第一篇概述(1)

Qt 按照不同的版本发行,分为商业版和开源版 。 Qt 商业版为商业软件提供开发环境,它们
提供传统商业软件发行版,并且提供在协议有效期内的免费升级和技术支待服务。而 Qt 开源版
是为了开发自由而设计的开放源代码软件,它提供了和商业版本同样的功能,在 GNU 通用公共
许可证下,它是免费的。

1.3、Qt5开发环境简介

在 Qt 程序开发过程中,除可以通过手写代码实现软件开发功能外,还可以通过 Qt 的 GUI
界面设计器 (Qt Designer) 进行界面的绘制和布局。该工具提供了 Qt 的基本可绘制窗口部件,
如 QWidget、 QLabel 、 QPushButton 和 QVBoxLayout 等。在设计器中用鼠标直接拖曳这些窗口
部件,能够高效、快速地实现 GUI 界面的设计,界面直观形象,所见即所得。 Qt 设计器主界面如下图所示
在这里插入图片描述
进入 Qt 设计器主界面后,看到的设计区窗体部分(如下图所示)就是将要设计的顶层窗口部件(顶层窗口部件是其他子窗口部件的载体)。
在这里插入图片描述
在 Qt 设计器主界面的左侧”组件箱”栏中列出了经常使用的 Qt 标准窗口部件,可以直
接拖曳相应的窗口部件图标到顶层窗口部件的界面上。同时,也可以将设计的窗口部件组合
(通过布局管理器对 Qt 标准窗口部件进行布局和组合)或放置其他窗口部件的 Qt 容器类(见
”组件箱”栏中的 “Containers” 组)直接拖曳到“组件箱”栏中, Qt 设计器会自动在”组件
箱”栏中生成" Scratchpad" 组,并生成新的自定义的窗口部件。此后,可以像使用 Qt 提供
的标准窗口部件一样使用新创建的窗口部件。
选中 Qt 设计器主界面的“控件" -> "视图”中的全部选项,在 Qt 设计器主界面上可以看
到设计器提供的一些编辑工具子窗口(如图 1.13 所示)。
• 对象查看器 (Object Inspector): 列出了主界面中所有窗口部件,以及各窗口部件的父
子关系和包容关系。
• 属性编辑器 (Property Editor): 列出了窗口部件可编辑的属性。
• Action 编辑器 (Action Editor): 列出了为窗口部件设计的 QAction 动作,通过“添加”或
“删除”按钮可以新建一个可命名的 QAction 动作或删除指定的 QAction 动作。
• 信号和槽编辑器 (Signals & Slots Editor): 列出了在 Qt 设计器中关联的信号和槽,通过
双击列中的对象或信号/槽,可以进行对象的选择和信号/槽的选择。
此外,通过 Qt 设计器的“编辑”菜单,可以打开 Qt 设计器主界面的四种 GUI 窗口部件编
辑模式。
• 控件编辑模式 (Edit Widgets): 可以在 Qt 设计器主界面中添加 GUI 窗口部件并修改它
们的属性和外观。
• 信号/槽编辑模式 (Edit Signals/Slots): 可以在 Qt 设计器主界面中的窗口部件上关联 Qt
已经定义好的信号和槽。
• 伙伴编辑模式 (Edit Buddies): 可以在 Qt 设计器主界面中的窗口部件上建立 QLabel 标
签和其他窗口部件的伙伴关系。
•Tab 顺序编辑模式 (Edit Tab Order): 可以在 Qt 设计器主界面中的窗口部件上设置 Tab
键在窗口部件上的焦点顺序。

二、简单项目设计

2.1、设计器 Qt ~DesJgner 实现

【例】(简单) 采用设计器 Qt Designer 实现计算圆面积,完成如下图所示的功能
首先进行界面设计,然后编写相应的计算圆面积代码。

2.1.1 界面设计

步骤如下。
(1) 单击运行 Qt Creator, 进入 Qt Creator 初始界面。单击上端的
new Project 按钮,或者选择“文件" – “新建文件或项目..”命令,创建一个新项目,出
现“新建项目”窗口(如下图2.1.1 所示)。
(2) 单击选择项目 “Application” -> “Qt Widgets Application” 选项,单击 “Choose …”
按钮。
编程者需要创建什么样的项目就选择相应的项目选项即可。例如, “Qt Console Application”
选项是创建一个基千控制台的项目。这里因为需要建立一个桌面应用程序,所以选择"Qt Widgets
Application”(如下图2.1.2所示) 。
(3) 选择保存项目的路径并定义自己项目的名字。注意,保存项目的路径中不能有中文。
项目命名没有大小写要求,依据个人习惯命名即可。这里将项目命名为 Dialog, 保存路径为
D:\Qt_1, (如下图2.1.3 所示)。单击“下一步”按钮。
(4) 弹出“粔t Selection” (选择构建套件)界面,系统默认已指定 C++ 的编译器和调试器,
(如下图2.1.4所示),直接单击“下一步”按钮。
(5) 根据实际需要,选择一个“基类”。这里选择 QDialog 对话框类作为基类,这时“类名“
“头文件”“源文件”“界面文件”都出现默认的文件名。注意,对这些文件名都可以根据具体需
要进行相应的修改。默认选中“创建界面“复选框(如下图2.1.5 所示),表示需要采用界面设计器
来设计界面,否则须要利用代码完成界面的设计。
(6) 选择完成后单击“下一步”按钮,相应的文件自动加载到项目文件列表中,如下图2.1.5 所示)。
图2.1.1
在这里插入图片描述

图2.1.2
在这里插入图片描述
图2.1.3
在这里插入图片描述
图2.1.4
在这里插入图片描述
图2.1.5
在这里插入图片描述
图2.1.6
在这里插入图片描述

2.2.1编写相应的计算圆面积代码

首先简单认识一下 Qt 编程环境。找到文件列表中自动添加的 main.cpp 文件,如图 1.21 所示。
每个工程都有一个执行的入口函数,此文件中的 main()函数就是此工程的入口 。
下面详细介绍 main()函数的相关内容:

#include "dialog.h"
#include <QApplication>

int main(int argc, char \*argv[])
{
    QApplication a(argc, argv);
    Dialog w;
    w.show();

    return a.exec();
}


其中,

( a) #include “dialog.h”: 包含了程序中要完成功能的 Dialog 类的定义,在 Dialog 类中封装
完成所需要的功能。注意,使用哪个类就必须将包含该类的头文件引用过来。例如,若用到一
个按钮类,则必须在此处添加一行代码 #include < QPushButton >, 这表明包含了按钮
(QPushButton) 类的定义。

( b) #include < QApplication >: Application 类的定义。在每个使用 Qt 图形化应用程序中都必
须使用一个 QApplication 对象。 QApplication 管理了各种各样的图形化应用程序的广泛资源、基
本设置、控制流及事件处理等。

( c) int main(int argc, char *argv[ ]): 应用程序的入口,几乎在所有使用 Qt 的情况下, main()
函数只需要在将控制转交给 Qt 库之前执行初始化,然后 Qt 库通过事件向程序告知用户的行为。
所有 Qt 程序中都必须有且只有一个 main()函数。 main()函数有两个参数,即 argc 和 argv ,argc
是命令行变量的数量, argv 是命令行变量的数组。

( d) QApplication a(argc, argv): a 是这个程序的 QApplication 对象。在任何 Qt 的窗口系统
部件被使用之前必须创建 QApplication 对象。它在这里被创建并且处理这些命令行变量。所有
被 Qt 识别的命令行参数都将从 argv 中被移去(并且 argc 也因此而减少)。

( e) w.show( ): 当创建一个窗口部件的时候,默认它是不可见的,必须调用 show( )函数使它
变为可见。

( f) return a.exec( ): 程序进入消息循环,等待可能的输入进行响应。这里就是 main() 函数将
控制权转交给 Qt, Qt 完成事件处理工作,当应用程序退出的时候, exec( )函数的值就会返回。
在 exec()函数中, Qt 接收并处理用户和系统的事件并且将它们传递给适当的窗口部件。

2.2.2 编写相应的计算圆面积代码方式

现在,有两种方式可以完成计算圆面积功能:一是通过触发按钮事件完成(方式 1); 二是
通过触发输入编辑框事件完成(方式 2) 。
方式 1: 在 “lineEdit” 文本框内输入半径值,然后单击按钮,则在 lineEdit_2
中显示对应的圆面积。
编写代码步骤如下。
(1) 在“计算”按钮上按鼠标右键,在弹出的下拉菜单中选择“转到槽…”命令,在“转到
槽”对话框中选择 QAbstractButton 的 “clicked( )” 信号,单击 “OK” 按钮,如图 2.2.1 、图2.2.2 、图2.2.3 、图 2.2.4(对象)所示。
图 2.2.1
在这里插入图片描述
打开ui界面后,把相应的控件拉取到编辑框内,如下图2.2 。
图2.2

在这里插入图片描述

图2.2.2
在这里插入图片描述
图2.2.3
在这里插入图片描述
图 2.2.4(对象)
在这里插入图片描述

(2) 进入 dialog.cpp 文件中按钮单击事件的槽函数 on_pushButton_clicked()。信号与槽连接的
具体说明后面篇章会说明。在此函数中添加如下代码:

void Dialog::on\_pushButton\_clicked()
{
    bool ok;
    QString tempStr;
    QString valueStr = ui->lineEdit->text();
    int valueInt = valueStr.toInt(&ok);
    double area = valueInt\*valueInt\*PI;
    ui->lineEdit_2->setText(tempStr.setNum(area));
}

(3) 在 dialog.cpp 文件开始处添加以下语句:

const static double PI = 3.1416;

定义全局变量 PI 。

方法2: 在 “Line Edit” 文本框内输入半径值,不需要单击按钮触发单击事件,直接就在
lineEdit_2 中显示圆面积。
编写代码步骤如下。
(1) 在 “Line Edit” 文本框上按鼠标右键,在弹出的下拉菜单中选择“转到槽…”命令,在
“转到槽”对话框中选择 QLineEdit 的 “textChanged(QString)” 信号,如图 2.2.5 所示。
在这里插入图片描述
( 2) 单击 “OK” 按钮,进入 dialog.cpp 文件中的文本编辑框改变值内容事件的槽函数
on_lineEdit_textChanged(const QString &arg1)。在此函数中添加如下代码

void Dialog::on\_lineEdit\_textChanged(const QString &arg1)
{
    bool ok;


![img](https://img-blog.csdnimg.cn/img_convert/9e07f6de30703db2258938ae75208787.png)
![img](https://img-blog.csdnimg.cn/img_convert/793ae3742d41e00f50fa3863cc1a4e3a.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Qt5是一款跨平台的应用程序框架,适用于Windows、Linux、macOS和Android等多种操作系统。提供了诸如GUI、网络、数据库、XML、音频、视频等多个领域的丰富功能,因此成为开发人员常用的工具之一。 如何学习Qt5呢?首先,需要掌握C++编程语言,对于没有基础的人来说,需要先学习C++基础语法。其次,需要安装并配置好Qt5开发环境,包括Qt Creator IDE和Qt Framework等。安装完成后,就可以开始进行Qt5的编程学习了。 Qt5入门教程主要内容包括:Qt5的基本概念和常用组件, Qt对象模型和信号槽机制,界面设计和布局,窗口管理和事件处理等方面。在实践中,可以通过编写一些小型的应用程序来巩固所学内容。例如实现一个简单的文本编辑器、图像浏览器,模拟一个简单的计算器等。 在学习过程中,需要注意一些常见的问题。例如,Qt对象的生命周期、信号槽的连接方式、事件处理的优先级等都需要注意。另外,Qt5的文档和示例非常丰富,开发者可以通过查阅官方文档和代码示例来更好地理解Qt5的使用方法和特点。 总之,Qt5是一款功能强大的开发框架,适合从事图形界面开发、嵌入式开发、游戏开发等多个领域。学习Qt5需要掌握C++编程语言、熟悉Qt5的各种组件和特性,并进行实践。通过不断的学习和实践,开发者可以在Qt5框架下开发出高质量的应用程序。 ### 回答2: Qt是一种跨平台的C++应用程序开发框架。Qt5提供了许多新的特性和改进,如QML、Qt Quick、Qt Quick Controls和Qt WebEngine等。对于新手,Qt5入门教程非常重要,因为它可以帮助他们快速上手并深入了解框架。 Qt5入门教程详细讲解版应该包括以下内容: 1.安装和设置Qt5:介绍不同平台上的安装步骤和必需的设置。 2.基本概念:介绍概念,如信号和槽、对象型、元对象系统和Qt应用程序的生命周期等。 3.第一个Qt5应用程序:创建一个Hello World应用程序并解释基本的代码架构。介绍Qt Creator集成开发环境的使用步骤。 4.Qt5界面设计:介绍QML、Qt Quick和Qt Quick Controls,这些特性可用于创建现代和响应式的应用程序界面。 5.数据持久性:介绍如何使用Qt5框架中的SQLite、MySQL和PostgreSQL等来实现数据持久性。 6.QWidget和QMainWindow:将介绍如何使用QWidget和QMainWindow类来创建桌面应用程序界面,添加菜单和栏,应用程序状态栏和工具栏。 7.调试和部署:说明如何调试和部署Qt应用程序。 总之,Qt5入门教程详细讲解版旨在帮助新手更好地了解Qt5框架并开始创建跨平台的应用程序。 ### 回答3: Qt5是一款流行的开源跨平台应用程序开发框架,用于构建桌面,移动和嵌入式应用程序。它支持多种编程语言,例如C ++,Python和JavaScript。本教程将详细讲解如何使用Qt5开始开发应用程序。 Qt5入门教程以C++语言为基础进行讲解,首先阐述了Qt5的工作原理和基本架构。之后,教程介绍了如何建立一个Qt5应用程序开发环境,并详细阐述了Qt Creator的功能和用法。接着,通过一个简单的“Hello World”应用程序示例,该教程介绍了Qt5界面设计和常用控件的使用方式。 在基础知识介绍之后,本教程深入探讨了Qt5的核心构件,例如Qt Widgets,Qt Quick和Qt WebEngine。通过这些构件的讲解,学习者将会掌握如何在Qt5中创建各种用户界面。 本教程还包括有关处理Qt5信号和槽机制、自定义控件以及在Qt5应用程序中使用外部库的介绍。此外,教程详细讲解了如何调试和部署Qt5应用程序,并介绍了Qt5的一些高级功能,例如Qt Multimedia和Qt OpenGL。 总的来说,本教程非常详细,包含丰富的示例和练习,可以帮助初学者快速上手使用Qt5开发各种类型的应用程序。无论您是想学习Qt5的初学者,还是有经验的开发人员,该教程都不容错过。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值