在Qt中使用C++代码创建界面(1)

本文介绍如何使用Qt和C++创建基本的GUI程序。通过创建一个简单的Qt Widgets Application项目,展示了如何设置窗口属性、添加QLabel控件并显示文本。

首先给出本文章的原博客网址:在Qt中使用C++代码创建界面

Qt 支持两种创建界面的方式:

一种是使用C++代码,Qt 自诞生以来就支持(本文使用这种方式);

一种是使用 QML,可以创建个性化的界面;

Qt 提供了多种工程类型,选择不同的工程类型将导致使用不同的方式来创建界面。

首次打开Qt,会出现欢迎界面,点击New Project按钮,或者在菜单栏点击文件,然后选择新建文件或项目,都会弹出向导对话框,如下图所示:(不同的Qt编译器版本,界面可能会有所差别)
这里写图片描述

Qt Widgets Application和Qt Console Application工程将会使用C++代码,Console 用来创建控制台程序,Widgets 用来创建GUI程序。

Qt Quick Application、Qt Quick Controls Application和Qt Canvas 3D Application工程将会使用 QML 代码,
Quick Control 主要比 Quick 多一些控件,Canvas 3D 用来创建3D动画。

选择Qt Widgets Application,点击Choose…按钮,弹出如下对话框:

这里写图片描述

填写好项目名称和保存路径,点击下一步按钮,弹出工具选择对话框:

这里写图片描述

选中Select all kits即可。点击下一步按钮:

这里写图片描述

(不知道作者为什么这里不选择该选项)

填写项目中要使用到的类的信息。简单起见,取消“创建界面”选项。单击下一步按钮,弹出“项目管理”对话框,点击完成按钮,完成项目的创建。

可以看到,IDE自动生成了四个文件:

WidgetsDemo.pro :为工程文件,它是 qmake 产生的用于生成 makefile 的配置文件,它的名称和项目名称是一样的。

main.cpp :是主文件,里面就是一个 main() 函数,程序从该文件开始执行

mainwindow.h : MainWindow 类的头文件

mainwindow.cpp:是MainWindow 类的源文件。

MainWindow: 是我们在创建项目时指定的名字。

整个项目的示意图如下:

这里写图片描述

现在点击运行(Run)按钮,或者按下Ctrl+R快捷键,就可以看到编译结果,如下图所示:

这里写图片描述

这是一个最简单的 Qt Widget 程序。

显示“Hello World”:

接下来,我们让程序显示”Hello World!”。打开 mainwindow.cpp,在构造函数 MainWindow() 中添加如下代码:

//设置标题  
this->setWindowTitle(tr("Widgets演示"));  
//设置客户区大小  
this->resize(300, 120);  
//设置背景颜色  
QPalette palette = this->palette();  //获取调色板  
palette.setColor(QPalette::Window, QColor(255, 255, 255));  //设置为白色  
this->setPalette(palette);  //重新设置调色板  
//添加QLabel控件  
QLabel *label = new QLabel(this);  //创建QLabel控件  
setCentralWidget(label);  //将当前控件至于中央  
label->setText(tr("Hello World!"));  //设置控件文本  
label->setAlignment(Qt::AlignCenter);  //文本水平和垂直都居中 

**我运行到这里时,提示出错:**label was not declared in this scope
这是因为label的头文件没有包含进来,所以应该加上头文件:#include <QLabel>****

整个代码如下:

#include "mainwindow.h"

#include <QLabel>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    //设置标题
    this->setWindowTitle(tr("hello"));
    //设置客户区大小
    this->resize(1000, 800);
    //设置背景颜色
    QPalette palette = this->palette();  //获取调色板
    palette.setColor(QPalette::Window, QColor(255, 0, 255));  //设置为白色
    this->setPalette(palette);  //重新设置调色板
    //添加QLabel控件
    QLabel *label = new QLabel(this);  //创建QLabel控件
    setCentralWidget(label);  //将当前控件至于中央
    label->setText(tr("Hello World!"));  //设置控件文本
    label->setAlignment(Qt::AlignCenter);  //文本水平和垂直都居中
}

MainWindow::~MainWindow()
{

}

运行结果为:
这里写图片描述

“`、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值