(一)QT学习

我们已经安装完毕QT和VS了,那么让我们看看如何开始第一个QT项目

1.新建QT项目
选择“文件”-“新建文件或项目”,新建我们的第一个项目,选择Application(QT)创建项目,QT Widgets Application项目包含QT设计师文件、.h和.cpp文件。
在这里插入图片描述
为项目起一个名字,例如test,选择下一步,选择qmake构建系统,虽然QT提供的cmake是更加常见、普适的编译器,但是qmake是QT专门提供的,可以减少我们的编译工作量(例如选择cmake,你需要手动编译,因为链接器是不知道你的QT库在哪里的。有兴趣的可以自己去百度查询,这里不做过多的展开)。
在这里插入图片描述
继续点击下一步,默认QT的选择即可,继续下一步,看到QT的又一个独创-translate,多语言翻译,用于提供多个语言,例如项目中包含中文的.ts文件和英文的.ts文件,QT可以使用tr()把中文替换成英文显示,先了解这个概念即可。另外,创建项目时不一定要选择,QT默认选择none。
在这里插入图片描述
构建套件,选择默认的即可,如下图所示,QT5.12.9和MSVC2017(VS2017编译器)
在这里插入图片描述
点击下一步—完成,这样我们第一个项目就新建完成了。

2.项目构成
test.pro文件:项目配置文件,包含项目包含的文件、QT需要的库文件等等
main.cpp文件:项目启动,类似C和C++项目中的main函数,是项目最初的启动位置
mainwindows.h和mainwindows.cpp文件:主界面文件
mainwindows.ui:ui文件,点击这个文件可以进入QT设计界面,拖动QT提供的控件可以方便的构建UI界面(不过确实比较丑,要想好看,需要自己写css)
test_zh_CN.ts:翻译文件,代表简体中文的翻译文件
在这里插入图片描述

3.做一个界面
那么如何设计一个简单的界面呢?让我们双击mainwindows.ui文件,进入如下界面,其实就是设计界面,我们点击设计上方的编译,可以回到项目界面,所以不用慌自己怎么返回。

左边的Layouts就是控件啦,这里提供一堆可选的控件。右边是主界面,主界面有时间再进行介绍。
在这里插入图片描述
让给我们先拖动一个widget放在主界面上,widget类似我们看到的界面,你可以把它想象成一张白纸,其他的控件是你画上去的,它是最基本的画布(其实mainwindows主界面本身就可以放其他控件,但是出于习惯和后期控件管理,最好放一个widget)。鼠标放在下图中的8个点上可以拖动widget,拖动控件到最大。
在这里插入图片描述
拖动两个Line Edit,放在widget上,Line Edit是输入控件,它支持输入一行文字,让我们为他们命名一下。
在这里插入图片描述
点击line edit控件本身,或者右边的控件名,可以选中这个控件,在右下方的位置,objectName就是这个控件的名字,让我们为左方的命名为lineEdit1,右边的命名为lineEdit2。
在这里插入图片描述
再让我们拖动三个label,label可以显示文字(甚至图片都可以显示哦),并且为这三个label命名,并改写显示文字,第一个显示+,第二个显示=,第三个显示文字“结果”(我们要让它显示结果)。
在这里插入图片描述
改变文字的大小、颜色和显示文字,在label控件上右键,选择改变多信息文本,在以下界面上改写,空白位置就可以显示文字
在这里插入图片描述
按住Ctrl,选择这五个控件,右键-布局-水平布局,可以让整个界面更加好看,布局后自己调整大小即可。
在这里插入图片描述
到了现在,我们就可以发现,其实ui文件就相当于前台页面,cpp文件就是后台。那么ui和cpp如何沟通呢,即两个问题:1.cpp文件如何获取我们在line edit中填写的数字;2.ui如何通知cpp文件中的函数进行计算呢。
很简单,我们先回答第一个问题:cpp文件如何获取我们在line edit中填写的数字
让我们先回到编辑界面,看下cpp文件内容

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

mainwindows.cpp文件中可以看到一个对象ui,再看看这个ui的类Ui::MainWindow,是不是有点察觉了呢?对的,这个类就是我们的mainwindows.ui文件自动生成的,因此我们可以使用对象ui操作它包含的控件名。

那么让我们再看看如何解决第二个问题:ui如何通知cpp文件中的函数进行计算呢
首先,我们先双击ui文件,返回到设计界面,增加一个按钮-push button,顺手右键-改变文字,把显示文字改为计算
在这里插入图片描述
在按钮上右键-选择槽,就会跳出这个界面,到了这个界面,我们就接触到QT的一个核心,并且是最有意思的功能——信号槽。这个概念我们后面再讲,前期可以理解为广播:信号发出后,对应的槽接到这个信息,会响应这个信号(其实你看不到的地方,QT会自动生成一个connect连接,connect会把信号和槽绑定,因此你不用担心发出的信号跑到了其他槽怎么办,当然这只是浅显的说法,面试的时候千万别傻乎乎的这么解释啊)。

点击click(),就会发现你自动转到cpp界面了,QT会自动帮你把槽函数生成好,你就会有一个信号click(),一个槽on_pushButton_clicked(),这两个是对应关系。
在这里插入图片描述
下面就让我们完成这个槽函数吧

void MainWindow::calculate_plus()
{
    int para1 = ui->lineEdit1->text().toInt();//调用ui界面中的line edit控件,获取它输入的数字
    int para2 = ui->lineEdit2->text().toInt();

    int res = para1 + para2;
    ui->label_res->setText(QString::number(res));//调用ui界面中的label控件,显示计算结果
}

void MainWindow::on_pushButton_clicked()//这就是槽函数,ui中的push button控件可以控制这个函数何时运行
{
    calculate_plus();
}

在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值