【Qt】将QtDesigner生成的.ui文件转化为.h头文件

news2025/1/12 6:04:52

【Qt】将QtDesigner生成的.ui文件转化为.h头文件

  • 1、背景
  • 2、实例
  • 3、附件

1、背景

操作系统:windows10专业版。
Qt版本:qt-opensource-windows-x86-msvc2013_64-5.7.1.exe

博主的Qt安装目录:E:\E01_cppIDE\E01_qt\install
并将安装后的bin目录:E:\E01_cppIDE\E01_qt\install\Qt5.7.1\5.7\msvc2013_64\bin
添加至系统环境变量。

博主的Qt Designer可执行程序的路径:

E:\E01_cppIDE\E01_qt\install\Qt5.7.1\5.7\msvc2013_64\bin

如下图:
在这里插入图片描述
运行designer.exe即可打开Qt Designer设计师界面,并设计如下一个定时器:
在这里插入图片描述
Qt设计师工具:直观、高效,工作量小,调试方便,并且界面视图和逻辑分离,开发的代码容易维护等好处。

将其保存widget.ui文件,其中.ui文件是xml格式的内容。

关于xml的简单说明:
xml是一种有树状结构的标记语言,多用于数据传输,如网页。
xml格式大致如下:

<?xml version="1.0" encoding="utf-8"?>
<ui>
  <widget class="QWidget" name="Widget">
  	<property name="windowTitle">
  		<string>应用小插件</string>
  	</property>
   </widget>
</ui>

2、实例

将widget.ui文件转化成.h头文件的步骤:

步骤1:cmd终端进入ui文件所在的目录:
在这里插入图片描述
步骤2:输入uic 转化指令,如下:

uic  widget.ui -o  ui_widget.h 

注意:
Tip1:生成头文件,不建议下面的命令,(先.h,后.ui,顺序搞反了,就会清除掉.ui文件):

uic -o  ui_widget.h widget.ui 

Tip2:生成的头文件,建议采用ui_名称.h,因为这种方式是Qt默认的通用方式。
Tip3:uic.exe只会生成头文件,文件类型是以其内容决定的,而不是文件后缀。
uic widget.ui -o ui_widget.cpp 和uic widget.ui -o ui_widget.h的内容都是头文件!
但.cpp的后缀会误导初学者,所以建议规范方式是文件后缀显示的表明文件内容,
即文件后缀应该为.h

Tip4:uic.exe在Qt安装目录下的bin文件夹里,即uic.exe在博主的电脑目录:
E:\E01_cppIDE\E01_qt\install\Qt5.7.1\5.7\msvc2013_64\bin

3、附件

widget.ui 文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>Widget</class>
 <widget class="QWidget" name="Widget">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>382</width>
    <height>205</height>
   </rect>
  </property>
  <property name="minimumSize">
   <size>
    <width>273</width>
    <height>167</height>
   </size>
  </property>
  <property name="sizeIncrement">
   <size>
    <width>273</width>
    <height>167</height>
   </size>
  </property>
  <property name="windowTitle">
   <string>应用小插件</string>
  </property>
  <widget class="QPushButton" name="buttonStart">
   <property name="geometry">
    <rect>
     <x>40</x>
     <y>140</y>
     <width>111</width>
     <height>51</height>
    </rect>
   </property>
   <property name="text">
    <string>开始</string>
   </property>
  </widget>
  <widget class="QPushButton" name="buttonStop">
   <property name="geometry">
    <rect>
     <x>230</x>
     <y>140</y>
     <width>111</width>
     <height>51</height>
    </rect>
   </property>
   <property name="text">
    <string>暂停</string>
   </property>
  </widget>
  <widget class="QLCDNumber" name="lcdNumber">
   <property name="geometry">
    <rect>
     <x>40</x>
     <y>40</y>
     <width>301</width>
     <height>91</height>
    </rect>
   </property>
  </widget>
  <widget class="QLabel" name="label">
   <property name="geometry">
    <rect>
     <x>50</x>
     <y>10</y>
     <width>291</width>
     <height>16</height>
    </rect>
   </property>
   <property name="text">
    <string>定时器,每秒自增1</string>
   </property>
  </widget>
 </widget>
 <layoutdefault spacing="6" margin="11"/>
 <resources/>
 <connections/>
</ui>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/145974.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

校园wifi网页认证登录入口

一、校园WIFI自助服务简介在我校校园网认证业务中&#xff0c;教职工校园通行证账号支持最大3个终端同时在线&#xff0c;如果超出最大在线数&#xff0c;最后上线的终端会把第一个上线的终端踢下线&#xff0c;导致终端经常掉线&#xff0c;需要重新登录才可上网。那么&#x…

【Linux】基础:基础IO

【Linux】基础&#xff1a;基础IO 摘要&#xff1a;本文基础IO的内容将从过往熟悉的C语言文件操作出发&#xff0c;引申指系统调用的文件操作&#xff0c;再进一步深化为对于进程管理的文件进行介绍&#xff0c;从而了解文件描述符的概念和管理方式&#xff0c;其中还会介绍其运…

2022 IoTDB Summit:京东刘刚《Apache IoTDB 在京东万物互联场景中的应用》

12 月 3 日、4日&#xff0c;2022 Apache IoTDB 物联网生态大会在线上圆满落幕。大会上发布 Apache IoTDB 的分布式 1.0 版本&#xff0c;并分享 Apache IoTDB 实现的数据管理技术与物联网场景实践案例&#xff0c;深入探讨了 Apache IoTDB 与物联网企业如何共建活跃生态&#…

基于JavaSpringMvc+mybatis实现学生信息管理系统

基于JavaSpringMvcmybatis实现学生信息管理系统 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系…

IOS Theos Tweak 之 HelloWorld

一、目标 Theos是什么&#xff1f; 是一套跨平台的开发工具套件,不仅可以开发Ios&#xff0c;Mac、Windows和Linux也可以的哦&#xff0c;开源免费。 Tweak是什么&#xff1f; 可以理解成动态链接库&#xff0c;有搞过Windows下dll注入的同学应该可以秒懂了。Android的同学…

JavaWeb——redis_1/6

链接: day23_redis_代码&资料 提取码&#xff1a;ijyg 今日内容redis——数据库软件1. 概念2. 下载安装3. 命令操作1. redis的数据结构2. 字符串类型 string3. 哈希类型 hash4. 列表类型 list:可以添加一个元素到列表的头部&#xff08;左边&#xff09;或者尾部&#xff0…

硬件工程师成长之路(0)----认识元件

系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录前言1、电阻①、贴片电阻②、金属膜电阻③、水泥电阻④、制动电阻⑤、电位器⑥、压敏电阻⑦、热敏电阻⑧、光敏电阻⑨、…

奇舞周刊478期:算法工程师深度解构 ChatGPT 技术

记得点击文章末尾的“ 阅读原文 ”查看哟~下面先一起看下本期周刊 摘要 吧~奇舞推荐■ ■ ■算法工程师深度解构 ChatGPT 技术本文用专业视野带你由浅入深了解 ChatGPT 技术全貌。它经历了什么训练过程&#xff1f;成功关键技术是什么&#xff1f;将如何带动行业的变革&#xf…

Spark学习(8)-SparkSQL的运行流程,Spark On Hive

1. SparkSQL的运行流程 1.1 SparkRDD的执行流程回顾 1.2 SparkSQL的自动优化 RDD的运行会完全按照开发者的代码执行&#xff0c; 如果开发者水平有限&#xff0c;RDD的执行效率也会受到影响。而SparkSQL会对写完的代码&#xff0c;执行“自动优化”&#xff0c; 以提升代码运…

In-Context Learning玩法大全

卷友们好&#xff0c;我是rumor。虽然ChatGPT在大众眼里的热度可能已经过去了&#xff0c;但它prompt出了我的焦虑&#xff0c;于是最近一直在补大模型相关的工作。比起小模型&#xff0c;大模型有一个很重要的涌现能力&#xff08;Emergent ability&#xff09;就是In-Context…

CORS 跨域资源共享 与 JSONP

CORS 1、接口的跨域问题 我们使用express编写的 GET 和 POST接口&#xff0c;存在一个很严重的问题&#xff1a;不支持跨域请求。 解决接口跨域问题的方案主要有两种&#xff1a; CORS&#xff08;主流的解决方案&#xff0c;推荐使用&#xff09;JSONP&#xff08;有缺陷的…

excel查重技巧:如何用组合函数快速统计重复数据(下)

数据源照旧&#xff0c;如下图所示&#xff0c;要求统计出不重复的客户数&#xff1a;在上期我们掌握了破解公式的方法后&#xff0c;今天我们再来看看计算不重复数据个数的第二个公式套路。套路2&#xff1a;COUNT和MATCH的组合这个公式的难度就稍微有点大了&#xff0c;一起看…

Word控件Spire.Doc 【Table】教程(3):如何在C#、VB.NET中设置Word表格样式

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

聊聊帮助别人这件事--爱摸鱼的美工(12)

年近了&#xff0c;上班途中依然匆忙 看女孩子们渐渐开始倒腾 做了新发型&#xff0c;做了美美的指甲 换上了新衣服&#xff0c;买了新包 电话里讨论着 去哪里过年&#xff0c;买什么年货 好像以前的我也这样 今年挣得少了&#xff0c;不想添新衣&#xff08;不能&#xff09; …

基于QWidget和QImage的水印添加实现

目录 1. 基于QWidget的屏幕阅读水印的添加 1.1 平铺 1.1.1 核心代码 1.1.2 构造函数中设置透明度和鼠标穿透 1.1.3 调用 1.1.4 效果展示 1.2 指定位置添加水印 1.2.1 核心代码 1.2.2 设置水印透明度和鼠标穿透 1.2.3 调用 1.2.4 效果展示 2、基于QImage的屏幕水印的…

QT 学习笔记(十四)

文章目录一、TCP/IP 通信过程简介1. Socket 通信2. Linux 下的 TCP/IP 通信过程3. QT 下的 TCP/IP 通信过程3.1 在 QT 中实现 TCP/IP 服务器端通信的流程3.2 客户端通信流程二、TCP/IP 通信过程操作实现1. 服务器端2. 客户端三、服务器端和客户端实现代码1. 主函数 main.c2. 服…

重装系统重新分区方法教程

对电脑进行系统重装以后&#xff0c;若是想电脑使用起来更稳定舒适&#xff0c;就要对电脑硬盘进行系统分区&#xff0c;但是许多用户都不知道怎样分区&#xff0c;今天小编就来为大家详细介绍一下重装系统重新分区方法教程。 工具/原料&#xff1a; 系统版本&#xff1a;win1…

11 个非常实用的 Python 和 Shell 拿来就用脚本实例!

我工作中用到的几个脚本&#xff0c;主要分为&#xff1a;Python和Shell两个部分。 Python 脚本部分实例&#xff1a;企业微信告警、FTP 客户端、SSH 客户端、Saltstack 客户端、vCenter 客户端、获取域名 ssl 证书过期时间、发送今天的天气预报以及未来的天气趋势图&#xff…

Verilog语法笔记(夏宇闻第三版)-赋值语句和块语句

目录 赋值语句: (1).非阻塞(Non_Blocking)赋值方式( 如 b < a; ): (2).阻塞(Blocking)赋值方式( 如 b a; ): 例&#xff1a; 块语句&#xff1a; 顺序块&#xff1a; 例&#xff1a; 并行块&#xff1a; 例&#xff1a; ​编辑 块名&#xff1a; 起始时间和结束…

php学习笔记-php运算符,类型转换,打印输出语句相较于其他语言的特殊部分-day02

php运算符&#xff0c;类型转换&#xff0c;打印输出语句相较于其他语言的特殊部分php运算符php的类型转换php打印输出语句php运算符 1.php运算符与其他高级语言相同的部分 算术运算符&#xff08;&#xff0c;-&#xff0c;*&#xff0c;/&#xff0c;%&#xff09;&#xff0…