news 2026/5/15 23:20:40

VS2015 + Qt 实现图形化Hello World(详细步骤)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
VS2015 + Qt 实现图形化Hello World(详细步骤)

本次实现基于VS2015+Qt5.9.x(兼容Qt5全系列),全程图形化UI操作,包含环境验证、项目创建、界面设计、代码编写、编译运行全流程,步骤精准可直接复刻。

前提:确认VS2015的Qt插件已安装

1. 打开VS2015,菜单栏能看到Qt VS Tools,说明插件安装成功(未安装需先装Qt+对应VS插件,Qt5.9.x适配VS2015最佳);

2. 打开Qt VS Tools→Qt Options,添加已安装的Qt版本(如Qt5.9.9 MSVC2015 32/64bit),并设为默认。

步骤1:创建Qt图形化项目

1. 打开VS2015,点击文件→新建→项目;

2. 左侧模板选择Qt→Qt Widgets Application,右侧设置:

- 项目名称: QtHelloWorld (自定义,建议英文无空格);

- 位置:选择本地空文件夹(如 D:\QtProjects );

- 解决方案名称:默认和项目名一致即可,点击确定;

3. 弹出Qt Widgets Application向导,直接点击下一步(无需修改);

4. 进入Class Information(类信息)页面,保持默认配置(关键,直接用Qt默认窗口类):

- Base class(基类): QMainWindow (Qt主窗口类,带菜单栏/状态栏,适合入门);

- Class name(类名): MainWindow ;

- Header file/Source file/Form file:自动生成,无需改;

- 取消勾选Generate form❌(手动拖控件更直观,入门推荐);

5. 点击下一步→完成,VS会自动生成Qt项目框架(包含头文件、源文件、资源文件)。

步骤2:配置项目编译环境(关键,避免编译报错)

1. 右键项目名称 QtHelloWorld →属性;

2. 左侧选择配置属性→Qt VS Tools→Qt Version,右侧确认选择的是Qt5.9.x MSVC2015 32/64bit(和插件安装的版本一致);

3. 左侧选择配置属性→常规,确认平台工具集为 v140 (VS2015默认,对应MSVC2015);

4. 点击确定,关闭属性窗口。

步骤3:设计图形化UI(拖放QLabel显示Hello World)

Qt的UI设计师是可视化拖放工具,无需手写界面代码,步骤如下:

1. 打开项目左侧解决方案资源管理器,双击MainWindow.ui(在Forms文件夹下),自动启动Qt Designer;

2. Qt Designer界面介绍(左侧控件箱、中间画布、右侧属性栏):

- 左侧Widget Box(控件箱),找到Display Widgets→QLabel(标签控件,用于显示文字);

3. 鼠标按住QLabel,拖到中间的主窗口画布中,松开后画布出现一个空白标签;

4. 选中画布中的QLabel,右侧Property Editor(属性栏)修改属性:

- 找到text属性,将默认的 TextLabel 改为 Hello, World! (要显示的文字);

- (可选)修改font属性:点击font右侧的 ... ,设置字体为微软雅黑、字号16、加粗(提升显示效果);

- (可选)修改alignment属性:选择 AlignHCenter | AlignVCenter (文字居中显示);

- (可选)拖动QLabel的边框,调整控件大小,让文字完整显示;

5. 保存UI设计:点击Qt Designer菜单栏文件→保存(或按Ctrl+S),关闭Qt Designer,回到VS2015(UI修改会自动同步到项目)。

步骤4:编写核心代码(极简,仅需确认初始化)

VS自动生成的代码已包含窗口初始化逻辑,无需大量修改,仅需确认头文件和源文件的核心代码即可(可直接复制替换):

4.1 头文件:MainWindow.h(默认生成,无需改,核心代码如下)

cpp

#pragma once

#include <QMainWindow>

// 命名空间,由Qt Designer自动生成,关联UI文件

namespace Ui {

class MainWindow;

}

class MainWindow : public QMainWindow

{

Q_OBJECT // Qt的信号与槽宏,必须保留

public:

explicit MainWindow(QWidget *parent = 0); // 构造函数

~MainWindow(); // 析构函数

private:

Ui::MainWindow *ui; // UI对象,用于访问拖放的控件

};

4.2 源文件:MainWindow.cpp(仅需确认构造函数,核心代码如下)

#include "MainWindow.h"

#include "ui_MainWindow.h"

// 构造函数:初始化UI,自动加载设计的界面

MainWindow::MainWindow(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::MainWindow)

{

ui->setupUi(this); // 关键函数,加载MainWindow.ui的设计,必须保留

}

// 析构函数:释放UI对象

MainWindow::~MainWindow()

{

delete ui;

}

4.3 主函数:QtHelloWorld.cpp(程序入口,默认生成,无需改)

#include "MainWindow.h"

#include <QApplication> // Qt应用程序类,管理程序生命周期

// 程序入口,argc=命令行参数个数,argv=命令行参数数组

int main(int argc, char *argv[])

{

QApplication a(argc, argv); // 创建Qt应用程序对象,必须有且仅有一个

MainWindow w; // 创建主窗口对象

w.show(); // 显示主窗口(Qt窗口默认隐藏,必须调用show())

return a.exec(); // 启动Qt的事件循环,让程序保持运行

}

步骤5:编译并运行Hello World程序

1. 确认VS2015的解决方案配置为Debug(入门推荐,方便调试),解决方案平台为x86/x64(和Qt版本一致,如Qt5.9.x MSVC2015 32bit则选x86);

2. 点击VS2015菜单栏生成→生成解决方案(或按F7),底部输出窗口显示 生成成功 (无报错);

3. 点击菜单栏调试→开始执行(不调试)(或按Ctrl+F5),弹出Qt图形窗口,显示Hello, World!,即实现成功!

常见问题及解决方法

1. 编译报错:找不到Qt头文件/库文件

- 解决:步骤2重新配置Qt Version,确保和安装的Qt版本一致;检查VS的平台工具集为v140。

2. 运行时窗口一闪而过

- 解决:用Ctrl+F5(不调试运行),而非F5(调试运行,若无断点会直接退出);或在main函数 return a.exec(); 前加 system("pause"); (临时解决)。

3. Qt Designer无法打开MainWindow.ui

- 解决:打开Qt VS Tools→Qt Options,确认Qt版本路径正确;重新生成项目(生成→重新生成解决方案)。

4. 运行报错:缺少Qt动态库(如Qt5Core.dll、Qt5Gui.dll)

- 解决:用Qt的windeployqt工具拷贝库文件:

1. 打开Qt的MSVC2015命令行(开始菜单→Qt→Qt5.9.9→MSVC2015 32bit);

2. 切换到项目生成的可执行文件路径(如 D:\QtProjects\QtHelloWorld\x86\Debug );

3. 输入命令 windeployqt QtHelloWorld.exe ,自动拷贝所有依赖的动态库。

扩展:修改文字样式/窗口属性

1. 修改窗口标题:选中Qt Designer中的主窗口,右侧属性栏找到windowTitle,改为 Qt第一个程序 ;

2. 修改QLabel文字颜色:选中QLabel,属性栏找到styleSheet,输入 color: red; (红色)/ color: #0066cc; (蓝色);

3. 调整窗口大小:主窗口属性栏找到fixedSize,设置宽高(如 400 200 ),固定窗口大小不允许拖动。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 4:06:13

毕业论文 AIGC 爆红?这几款论文降aigc神器,帮你实现一键降低ai率

交上去的论文&#xff0c;被系统标红“疑似AI生成” 论文初稿导师一看就说“你这用AI写的吧&#xff0c;一股机器味儿” 明明是自己想了半天的观点&#xff0c;却因为表达太像AI而被质疑 自己改写&#xff0c;但降AI率过程太折磨&#xff1a;要调整语序&#xff0c;要替换词…

作者头像 李华
网站建设 2026/5/15 23:20:38

2026年软件测试高需求技能路线图

一、行业变革&#xff1a;AI与云原生驱动的技能重构 2026年软件测试领域已进入智能化与云化深度融合阶段。据行业数据显示&#xff0c;AI测试自动化需求激增&#xff0c;掌握AI工具&#xff08;如Testim、Applitools&#xff09;的工程师平均年薪达$130,000&#xff0c;较传统…

作者头像 李华
网站建设 2026/5/11 23:45:06

# DeepSeek一夜跌落神坛?不!是你不会用!手把手教你0成本本地部署+投喂私有数据,打造比GPT-4更懂你的“第二大脑”

摘要&#xff1a; 为什么你的DeepSeek只会讲车轱辘话&#xff1f;为什么AI总是产生幻觉&#xff1f;本文不讲虚头巴脑的概念&#xff0c;直接带你从底层逻辑拆解&#xff0c;利用DeepSeek-R1 Ollama RAG技术&#xff0c;在普通家用电脑上部署一个完全私有、懂你业务、绝不泄露…

作者头像 李华
网站建设 2026/5/12 0:52:06

计算机毕业设计springboot微信小程序医院预约挂号系统 基于SpringBoot的掌上医院门诊预约小程序 微信小程序+SpringBoot智慧医院挂号平台

计算机毕业设计springboot微信小程序医院预约挂号系统056f5 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。 移动互联网把“排队”搬进了手机&#xff0c;也把“等待”压缩成指…

作者头像 李华
网站建设 2026/5/11 5:45:12

空降项目经理生存指南,三个月站稳脚跟!

空降成为项目经理&#xff0c;是一次高风险的职业跃迁。面对陌生的团队、既定的流程和隐形的张力&#xff0c;如何在最短时间内赢得信任、掌控局面&#xff0c;是每位空降管理者必须解答的命题。成功的空降并非运气&#xff0c;而是一套可拆解、可执行的方法体系。本文将为你梳…

作者头像 李华
网站建设 2026/5/12 0:52:04

一文解读PMI-ACP认证值不值得考?

市场需求的演变与不确定性等对项目管理提出新挑战。PMI-ACP认证的诞生&#xff0c;与项目管理领域的演变以及管理者们所面临的挑战紧密相连。大环境的不断变迁&#xff0c;以及技术的飞速发展&#xff0c;都对企业内部的管理和执行方式提出了新的挑战。在外部环境发生改变的情况…

作者头像 李华