0

0

c++如何编写一个简单的Qt GUI程序_c++图形界面编程入门

穿越時空

穿越時空

发布时间:2025-12-04 09:46:52

|

336人浏览过

|

来源于php中文网

原创

首先需安装Qt开发环境并使用Qt Creator创建项目。编写代码时,QApplication管理事件循环,QLabel显示文本,QPushButton响应点击,通过QObject::connect连接信号与槽,结合布局管理器可构建交互式界面,适合C++图形编程入门。

c++如何编写一个简单的qt gui程序_c++图形界面编程入门

要编写一个简单的 Qt GUI 程序,首先需要确保你的开发环境中已经安装了 Qt 和支持 C++ 的编译器(如 GCC 或 MSVC)。常用的开发工具包括 Qt Creator,它集成了编辑器、调试器和项目管理功能,非常适合初学者。

1. 安装 Qt 开发环境

前往 Qt 官方网站 下载并安装 Qt。推荐选择包含 Qt Creator 和 MinGW(Windows)或 Clang/GCC(Linux/macOS)的版本。安装完成后,启动 Qt Creator 并确认可以新建项目。

2. 创建一个简单的 Qt Widgets 应用程序

打开 Qt Creator,点击“新建项目”,选择 Application → Qt Widgets Application,然后设置项目名称和路径。一路默认下一步,直到完成创建。

Qt 会自动生成几个关键文件:

立即学习C++免费学习笔记(深入)”;

  • main.cpp:程序入口
  • mainwindow.h:主窗口类声明
  • mainwindow.cpp:主窗口实现
  • mainwindow.ui:可视化界面布局文件

3. 编写最简 GUI 程序代码

main.cpp 中,你会看到如下代码:

#include 
#include 

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QLabel label("Hello, Qt GUI!");
    label.resize(200, 100);
    label.show();

    return app.exec();
}

这段代码创建了一个显示“Hello, Qt GUI!”的标签,并将其显示出来。不需要复杂的窗口类,适合快速入门。

易语言学习手册 十天学会易语言图解教程  pdf版
易语言学习手册 十天学会易语言图解教程 pdf版

十天学会易语言图解教程用图解的方式对易语言的使用方法和操作技巧作了生动、系统的讲解。需要的朋友们可以下载看看吧!全书分十章,分十天讲完。 第一章是介绍易语言的安装,以及运行后的界面。同时介绍一个非常简单的小程序,以帮助用户入门学习。最后介绍编程的输入方法,以及一些初学者会遇到的常见问题。第二章将接触一些具体的问题,如怎样编写一个1+2等于几的程序,并了解变量的概念,变量的有效范围,数据类型等知识。其后,您将跟着本书,编写一个自己的MP3播放器,认识窗口、按钮、编辑框三个常用组件。以认识命令及事件子程序。第

下载

说明:

  • QApplication 管理应用程序的控制流和主要设置,每个 GUI 程序必须有且只有一个实例。
  • QLabel 是一个用于显示文本或图像的控件。
  • show() 让控件可见。
  • app.exec() 启动事件循环,等待用户操作。

4. 使用 Qt Creator 编译运行

将上述代码粘贴到 main.cpp 中,删除其他默认生成的 MainWindow 相关代码(或清空项目)。点击左下角的绿色三角按钮“运行”,如果一切正常,你将看到一个显示文字的小窗口。

5. 添加按钮并响应点击事件(进阶一点的例子)

如果你想让界面更互动,可以添加一个按钮并连接点击事件:

#include 
#include 
#include 
#include 
#include 

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QWidget window;
    QLabel label("点击按钮查看变化");
    QPushButton button("点我");

    QVBoxLayout *layout = new QVBoxLayout;
    layout->addWidget(&label);
    layout->addWidget(&button);
    window.setLayout(layout);

    QObject::connect(&button, &QPushButton::clicked, [&label]() {
        label.setText("按钮被点击了!");
    });

    window.setWindowTitle("简单 Qt 示例");
    window.show();

    return app.exec();
}

这个例子中使用了布局管理器 QVBoxLayout 来自动排列控件,并通过 QObject::connect 将按钮的点击信号连接到一个 Lambda 函数,实现动态更新文本。

总结

编写简单的 Qt GUI 程序并不复杂。从最基本的 QLabel 和 QPushButton 入手,掌握 QApplication 的作用和事件循环机制,再逐步学习信号与槽、布局管理等核心概念,就能快速上手 C++ 图形界面编程。Qt Creator 提供了良好的支持,是学习的理想工具。

基本上就这些,不复杂但容易忽略细节。

相关专题

更多
视频后缀名都有哪些
视频后缀名都有哪些

视频后缀名都有avi、mpg、mpeg、rm、rmvb、flv、wmv、mov、mkv、ASF、M1V、M2V、MPE、QT、VOB、RA、RMJ、RMS、RAM、等等。更多关于视频后缀名的相关知识,详情请看本专题下面的文章,php中文网欢迎大家前来学习。

3461

2023.10.31

C++ Qt图形开发
C++ Qt图形开发

本专题专注于 C++ Qt框架在图形界面开发中的应用,系统讲解窗口设计、信号与槽机制、界面布局、事件处理、数据库连接与跨平台打包等核心技能,通过多个桌面应用项目实战,帮助学员快速掌握 Qt 框架并独立完成跨平台GUI软件的开发。

68

2025.08.15

C++ 图形界面开发基础(Qt方向)
C++ 图形界面开发基础(Qt方向)

本专题系统讲解 使用 C++ 与 Qt 进行图形界面(GUI)开发的核心技能,内容涵盖 Qt 项目结构、窗口组件、信号与槽机制、事件处理、布局管理、资源管理,以及跨平台编译与打包流程。通过多个小型桌面应用实战案例,帮助学习者掌握从界面设计到功能实现的完整 GUI 开发能力。

54

2025.12.05

lambda表达式
lambda表达式

Lambda表达式是一种匿名函数的简洁表示方式,它可以在需要函数作为参数的地方使用,并提供了一种更简洁、更灵活的编码方式,其语法为“lambda 参数列表: 表达式”,参数列表是函数的参数,可以包含一个或多个参数,用逗号分隔,表达式是函数的执行体,用于定义函数的具体操作。本专题为大家提供lambda表达式相关的文章、下载、课程内容,供大家免费下载体验。

204

2023.09.15

python lambda函数
python lambda函数

本专题整合了python lambda函数用法详解,阅读专题下面的文章了解更多详细内容。

190

2025.11.08

Python lambda详解
Python lambda详解

本专题整合了Python lambda函数相关教程,阅读下面的文章了解更多详细内容。

48

2026.01.05

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

579

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1104

2023.07.27

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

72

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号