【QT】构建项目

文章目录

创建项目

打开QT creator后会显示这样一个界面

通过点击箭头指的创建项目来进行第一个项目的创建

然后接下来就会出现这样的界面

我们这里直接使用默认的选项,直接点"选择"

这里可以修改路径和项目名称,可以进行自定义

下面这里就是需要进行选择了,对于Qt用户,qmake是当前使用最广泛的构建系统。CMake是第二名,并且越来越受欢迎。第三名是Qbs,采用率明显降低。

接下来就需要选择基类了,由于这里只是做一个小项目,因此选择QWidget

下面的这一步就是涉及到国际化了,如果需要翻译成其他语言可以自行选择,但这里用不到,因此不进行选择

这里就是进行选择编译器了,如果想用Visual Studio进行编写代码的话可以使用MSVC,这里暂时不进行介绍,而是使用默认编译器

最后如果想要使用Git等进行版本控制的话可以自行选择,然后就大功告成了

代码编写

创建好项目后默认就是这个样子的,我们可以尝试运行一下看看结果

可以看到就是个一片空白的没有任何东西的窗口

打开这里的main.cpp文件,下面解释一下这里的代码

QApplication a(argc, argv);

对于使用了Qt的任何GUI程序来说,不管何时何地有多少个Window,但只有一个QApplication对象,如果不是基于QWidget的程序,相应的则使用QGuiApplication,后者不依赖于Widget特有的库。

Widget w;

widget翻译过来就是小部件的意思,这里创建一个Widget对象

w.show()

展示窗口,由于没有进行任何设置,因此为空

实现一个简单的Windows运行

在Windows下按下Windows键+R可以打开运行

这里有三种类型:文本、编辑栏和按钮

首先包含一下头文件

cpp 复制代码
#include "widget.h"
#include<QHBoxLayout>//H代表Horizonal,水平布局
#include<QVBoxLayout>//V代表Vertical,垂直布局
#include <QApplication>
#include<QPushButton>//添加按钮所需要的头文件
#include<QLayout>//添加布局所需要的头文件
#include<QLineEdit>//添加行编辑所需要的头文件
#include<QLabel>//添加文本所需要的头文件

首先把这两个文本所需要的对象创建一下

cpp 复制代码
QLabel* infoLabel=new QLabel;//创建一个描述文本
QLabel* openLabel=new QLabel;//在输入命令的编辑栏旁边的打开文本

然后再把编辑栏创建一下

cpp 复制代码
QLineEdit* cmdLineEdit=new QLineEdit;//创建一个编辑栏

接下来把三个按钮创建一下

cpp 复制代码
//创建按钮
QPushButton* commitButton=new QPushButton;
QPushButton* cancelButton=new QPushButton;
QPushButton* browseButton=new QPushButton;

所需的对象都创建完成后更改所要显示的内容,需要用到setText()函数

cpp 复制代码
//为所有标签更改显示的内容
infoLabel->setText("Input cmd Line");
openLabel->setText("Open");
commitButton->setText("Commit");
cancelButton->setText("Cancel");
browseButton->setText("Browse");

为了不让这下标签杂乱无章,将其进行对齐

可以看到按钮之间还有openLabel和cmdLineEdit之间都是水平对齐的,但它们不能全部对齐成同一行,因此创建两个对齐对象

首先创建一个cmdLayout对象来对openLabel和cmdLineEdit进行管理,通过使用addWidget函数将这两个对象添加到同一行中

cpp 复制代码
QHBoxLayout* cmdLayout=new QHBoxLayout;
cmdLayout->addWidget(openLabel);
cmdLayout->addWidget(cmdLineEdit);

然后对按钮进行相同的操作

cpp 复制代码
QHBoxLayout* buttonLayout=new QHBoxLayout;
buttonLayout->addWidget(commitButton);
buttonLayout->addWidget(cancelButton);
buttonLayout->addWidget(browseButton);

可以看到剩余的infoLabel和前两个已经绑定完成的对象之间是垂直的关系

因此创建一个QVBoxLayout的对象mainLayout,同样也是用addWidget函数将其绑定在一起

到这里界面布局就完成了,通过setLayout函数将mainLayout函数作为要显示的布局,还可以通过setWindowTitle对窗口名进行重命名

cpp 复制代码
QWidget w;
    w.setLayout(mainLayout);
    w.setWindowTitle("Run");
    w.show();

到这里整个界面就可以成功显示出来了

END

相关推荐
步行cgn5 分钟前
Java Properties 类详解
java·开发语言
东方苾梦8 分钟前
Elixir语言的游戏音效
开发语言·后端·golang
vvilkim16 分钟前
Python四大核心数据结构深度解析:列表、元组、字典与集合
开发语言·python
Diligent_lvan32 分钟前
通俗地讲述DDD的设计
java·开发语言·ddd设计
sxlzs_34 分钟前
Java 策略模式(二)-实战
java·开发语言·策略模式
蓝桥_吹雪38 分钟前
【备赛】蓝桥杯实现多个LED联合控制
笔记·stm32·单片机·蓝桥杯
郭涤生44 分钟前
Chapter 6: Concurrency in C++20_《C++20Get the details》_notes
开发语言·c++·笔记·c++20
倒霉蛋小马1 小时前
【Java集合】ArrayList源码深度分析
java·开发语言
烁3471 小时前
每日一题(小白)回溯篇4
java·开发语言·算法
White_Can1 小时前
《C++探幽:STL(string类源码的简易实现(上))》
开发语言·c++