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

vs2022+Qt插件初体验,创建带 UI 界面的 Qt 项目

前提:确认环境就绪(我的环境)

  1. Qt VS Tools 已配置好 Qt 版本(如 Qt 6.8.3 MSVC2022 64-bit);
  2. VS2022 解决方案平台设为x64,与 Qt 版本架构匹配。

步骤 1:创建带 UI 界面的 Qt 项目

  1. 打开 VS2022 → 点击「创建新项目」→ 搜索Qt Widgets Application→ 选择该模板 → 「下一步」;

  2. 配置项目信息:

    • 项目名称:自定义(如QtUI_Demo);
    • 保存路径:无中文 / 空格;
    • 解决方案名称:默认或自定义;

3.点击「创建」,进入 Qt 项目配置向导:

  • Qt Version:选择已配置的 Qt 版本(如Qt 6.8.3 MSVC2022 64-bit);
  • Base class:选择窗口基类(推荐QMainWindowQWidget,新手选QMainWindow更易扩展);
  • 勾选Generate form(核心!会自动生成.ui界面文件);
  • 其他选项默认 → 点击「Finish」。

✅ 项目创建后,自动生成核心文件:

  • QtUI_Demo.ui:Qt Designer 可视化界面文件;
  • QtUI_Demo.h/QtUI_Demo.cpp:界面逻辑代码文件;
  • main.cpp:程序入口。

步骤 2:用 Qt Designer 设计界面

  1. 打开 Qt Designer

    • 方式 1:在 VS 解决方案资源管理器中,双击QtUI_Demo.ui文件 → 自动启动 Qt Designer;
    • 方式 2:VS 顶部菜单 → 扩展 → VS Tools → Launch Qt Designer → 手动打开QtUI_Demo.ui

2.可视化设计界面(以添加按钮 / 标签为例)

操作步骤
拖放控件左侧「Widget Box」中,找到「Push Button」「Label」,拖拽到右侧主窗口画布;
修改属性选中控件 → 右侧「Property Editor」修改属性:- 按钮:text改为「点击弹窗」,objectName改为btnShowPopup;- 标签:text改为「Qt 可视化界面演示」,font设为「微软雅黑,14 号」;
布局调整选中主窗口 → 顶部菜单栏「布局」→ 选择「水平布局 / 垂直布局」→ 控件自动适配窗口大小;
保存界面Ctrl+S保存.ui文件,VS 会自动生成ui_mainwindow.h(隐藏在「头文件→Generated Files」下)。

在项目文件中我是没有发现有自动生成的头文件(ui_QtUI_Demo.h)

倒是在编译文件中找到了它:

可能是qt的版本不同导致的吧。

步骤 3:关联界面控件与代码(信号槽)

1.在QtUI_Demo.h中声明槽函数

private slots: void on_btnShowPopup_clicked();

2.在mainwindow.cpp中实现槽函数

void QtUI_Demo::on_btnShowPopup_clicked() { // 弹出普通提示框(信息类) QMessageBox::information( this, // 父窗口(当前主窗口) "提示标题", // 弹窗标题 "这是点击按钮后弹出的提示框!" // 弹窗内容 ); }

步骤 4:编译运行

  1. VS 顶部「解决方案平台」选择x64→ 配置选Debug/Release
  2. 点击「生成→生成解决方案」(F7),若无报错则编译成功;
  3. 点击「调试→开始执行(不调试)」(Ctrl+F5):
    • 弹出设计好的主窗口;
    • 点击「点击弹窗」按钮,触发高科技弹窗,验证界面与代码关联成功。

完毕!!!

http://www.cnnetsun.cn/news/107232.html

相关文章:

  • KISS FFT轻量级信号处理终极指南:从入门到精通
  • 快速掌握X-AnyLabeling:GeCO模型在目标计数中的完整实践指南
  • Mac M1芯片运行EmotiVoice性能表现如何?
  • 如何快速构建Next.js多租户认证系统:终极完整指南
  • 计算机Java毕设实战-基于JAVA的北京市公交管理系统基于Java的城市公交查询管理系统的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 计算机Java毕设实战-基于SpringBoot的景点门票销售管理系统基于JAVA白云山景点门票销售管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 价值投资中的智能化精准癌症治疗系统分析
  • 前端一把梭,后端火葬场:别再让你的 Node.js 服务“裸奔”了
  • NVIDIA显卡配置实用手册:从日常应用到专业调校
  • 30、Shell脚本编写与Bash安装指南
  • 31、Bash使用与相关Shell比较全解析
  • 33、Bash 环境变量、操作符及选项全解析
  • 前端环境配置(nvm、nodejs、npm)
  • RK3588语音AI部署终极指南:算子兼容性深度优化与实战解决方案
  • EmotiVoice语音好奇感模拟促进知识探索
  • Abaqus轮轨瞬态动力学分析:从模型搭建到inp文件生成
  • 使用Playwright集成亮数据IP代理获取AI热点
  • 探索工程模拟与分析的多元世界:从轨道到建筑
  • Cuberite服务器日志分析完全指南:从入门到实战
  • EmotiVoice语音合成服务灰度日志采集规范
  • EmotiVoice语音自然度评分达到MOS 4.5以上
  • GISBox教你快速获取建筑数据并生成可发布的3D模型
  • EmotiVoice情感语音合成API接口调用详细说明
  • SenseVoice多语言语音理解:突破传统ASR局限的专业术语识别方案
  • Redash数据可视化:让枯燥数据秒变商业洞察
  • Pyfa舰船配置工具:5个高效技巧助你成为EVE Online配置高手
  • 洛谷 P1892 [BalticOI 2003] 团伙
  • 洛谷 P2024 [NOI2001] 食物链
  • Animeko跨平台动漫追番神器:从入门到精通的完整指南
  • 中级软件设计师英语部分备考攻略:完形填空高频考点与解题技巧