当前位置: 首页 > news >正文

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 ),固定窗口大小不允许拖动。

http://www.jsqmd.com/news/350093/

相关文章:

  • 完整教程:从0到1玩转MYD-YT113X全志开发板 —— 移植SQLite3
  • 2026年高性价比冷藏车工厂排名,重庆冷藏车认证厂家哪家好 - 工业品牌热点
  • HiNeRV 论文阅读
  • 书籍-伯希和《敦煌石窟图录》
  • 2026年云南大鹅卵石批发费用探讨,价格到底多少钱 - mypinpai
  • ‌失败案例复盘:自媒体启动期避坑手册
  • 238_尚硅谷_客户管理系统-显示客户列表
  • 聊聊2026年靠谱的漆包机厂家,高速与立式漆包机费用情况如何 - 工业设备
  • 2026年春夏最值得买的5款通勤休闲裤,休闲裤选购指南| 消费决策避坑全指南 - 行业深度观察
  • 告别手动布线标签!云帮网:网络工程师的“标签神器“,效率提升10倍!
  • 常用技巧 --- 如何快速找到窗口的文件位置
  • 微信小程序Python-uniapp 宠物领养系统
  • 微信小程序Python-uniapp 师生互动桥系统
  • 说说2026年口碑好的GEO优化推广服务商,价格贵不贵 - myqiye
  • 深入理解 AgenticOps:下一代 AI 应用开发新范式
  • aigc免费降AI全攻略:2026 年最新论文降AI方案,彻底解决降ai率难题
  • 什么是企业级 OPC 平台?从 Agent 到 Open Person Company 的新范式
  • 深聊亳州职业院校哪家好,安徽新华电脑专修学院啥时候报名了解下 - 工业品网
  • 微信小程序Python-uniapp 思政考核管理系统
  • 2026最新实测:这6款隐藏的免费降ai率神器,论文党一定要收藏
  • 2026年天津诚信的办公设备租赁品牌企业,费用与服务深度剖析 - mypinpai
  • 微信小程序Python-uniapp 大学生食堂餐厅点餐系统
  • 毕业论文 AIGC 爆红?这几款论文降aigc神器,帮你实现一键降低ai率
  • PLC控制技术的四工位组合机床设计
  • 毕业生必备:分享 6个硬核降ai率工具,手把手教你如何免费降低ai痕迹
  • 微信小程序Python-uniapp 宠物服务系统
  • 2026年可靠的西南新能源冷藏车厂家排名出炉看看有哪些 - 工业品牌热点
  • 2026年气力输送定制厂家分析,无锡地区靠谱的有几家 - 工业设备
  • 论文降ai指南:学长私藏的 6个免费降ai率工具,亲测查重率从 80% 降到 5%!
  • 微信小程序Python-uniapp 基于协同过滤算法的校园服务平台