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

2023-05-16

【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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 岛屿之灵攻略笔记

    游戏自定义所在地图名字 xff0c 我的名字是Academics 移动 按下Shift可以跑步 xff0c 再按shift切换回走路 困意满的话 xff0c 跑步和骑自行车都不行 Basic Stove分析 图标 需要 Cooking等级
  • Android : 编写精美的聊天界面

    Android 编写精美的聊天界面 1 准备工作2 编写精美的聊天界面参考 1 准备工作 首先制作一张 9 格式的聊天气泡 xff1b 需要注意的是 xff0c 制作完成后 xff0c 应该将原始文件删除 xff0c 否则AS会分不清楚而报
  • Android:ThreadLocal的简单理解和使用

    ThreadLocal的简单理解和使用 1 背景1 1 背景及问题1 2 每个线程需要一个独享的对象1 2 每个线程需要一个独享的对象 2 ThreadLocal原理2 1 使用说明2 2 ThreadLocal的set方法2 3 Thre
  • Android:IdleHandler的简单理解和使用

    IdleHandler的简单理解和使用 1 IdleHandler 是什么2 IdleHandler 使用方式2 1 添加和删除2 2 执行 3 常见问题和使用场景3 1 使用场景3 2 常见问题 参考 1 IdleHandler 是什么
  • Android:LeakCanary原理的简单理解和使用

    LeakCanary原理的简单理解和使用 1 背景2 LeakCanary2 1 LeakCanary 工作原理2 1 1 检测未被 GC 回收的对象2 1 2 转储堆2 1 3 分析堆2 1 4 对泄漏进行分类 2 2 LeakCanar
  • 【opencv-c++】cv::filter2D图像卷积操作

    opencv c cv filter2D图像卷积操作 1 背景 2 示例 1 背景 图像卷积的示意图如下 以上操作描述为 一个窗口区域在另外一个大的图像上移动 对每个窗口覆盖的区域都进行点乘得到的值作为中心像素点的输出值 窗口的移动顺序是是
  • 【opencv-c++】cv::GaussianBlur高斯滤波

    opencv c cv GaussianBlur高斯滤波 1 背景 2 示例 1 背景 高斯滤波首先要知道高斯函数 在图像采集的过程中 经常会有噪声出现 这些噪声满足高斯分布 我们简称为高斯噪声 对于高斯噪声 我们采用高斯滤波来去噪 高斯滤
  • 【opencv-c++】cv::bilateralFilter双边滤波

    opencv c cv bilateralFilter双边滤波 1 背景 2 示例 1 背景 由于高斯滤波去降噪 会较明显地模糊边缘 对于高频细节的保护效果并不明显 而双边滤波 Bilateral filter 是一种非线性的滤波方法 是结
  • 【深度学习】模型过拟合的原因以及解决办法

    深度学习 模型过拟合的原因以及解决办法 1 背景2 模型拟合3 简述原因4 欠拟合解决办法5 过拟合解决办法 1 背景 所谓模型过拟合现象 xff1a 在训练网络模型的时候 xff0c 会发现模型在训练集上表现很好 xff0c 但是在测试集
  • 【python中级】Pillow包在图像中绘制中文

    python中级 Pillow包在图像中绘制中文 1 背景 2 python图像中绘制中文 3 下载 1 背景 opencv python到目前为止 还不支持在图像中绘制中文 目标检测类项目一些场景需要在界面上绘制文字信息 而中文的显示需求
  • 【python中级】裁剪1、2寸电子照片

    python中级 裁剪1 2寸电子照片 1 背景 2 物理以及像素尺寸 3 补充说明 4 代码 1 背景 办理业务的时候会用到各种照片 特别是新工作入职 提交个人评审材料等 经常会遇到提供照片的情况 本博客简述如何快速制作1 2寸电子照片
  • 扫描型PDF进行反色打印

    对于扫描出来的图片型pdf xff0c 白花花的白底黑字很难受的 xff0c 怎么办呢 xff1f Acrobat 11 0 10 设置 打印机 为Adobe PDF 点击 34 高级 34 复合灰度 勾选 负片 34 缺点是反色打印后 x
  • 【python中级】强行kill杀掉进程

    python中级 强行kill杀掉进程 1 背景 2 代码 1 背景 如果程序涉及到主进程开子进程 并在一定条件下关闭子进程 大概率就是需要kill杀掉进程 2 代码 以下示例代码 kill杀掉进程 py 可在windows以及linux下
  • 【应用开发】关于串口和通信协议

    开发扩展 关于串口和通信协议 1 背景 2 串口 3 通信协议 1 背景 在做设备开发的时候 会遇到通信相关的开发 这时候经常会有串口 RS232 RS485 modbus modbus RTU等名词在交流中环绕 如果不去理解这些概念 就像
  • 【应用开发】关于ASCII码的进制对照表

    应用开发 关于ASCII码的8 10 16进制对应关系 1 背景 2 ASCII码对照表 3 说明 1 背景 ASCII American Standard Code for Information Interchange美国信息交换标准代
  • 【python初级】10进制与2进制8进制16进制的转换

    python初级 10进制与2进制8进制16进制的转换 背景代码 背景 在做串口通信的时候发送的字符串都是16进制编码的 本博客就介绍10进制与2 8 16进制的相互转换 10进制是我们生活中默认使用的最常用的数值表示方式 所谓十进制就是逢
  • 【Qt】通过共享内存实现应用程序的单实例检查

    Qt 通过共享内存实现应用程序的单实例检查 1 背景2 示例3 运行 1 背景 在开发Qt程序的时候 xff0c 我们往往不希望一台计算机上同一个程序被多次打开 xff0c 即一台计算机上有且只有一个应用程序实例存在 应用程序的单例化 xf
  • 【Qt】SetUnhandledExceptionFilter设置程序异常筛选器函数

    Qt SetUnhandledExceptionFilter设置程序异常筛选器函数 1 背景2 示例3 运行 1 背景 SetUnhandledExceptionFilter设置未处理的异常筛选器函数 xff08 或者叫设置异常捕获函数 异
  • 【Qt】自动查找Qt应用程序缺少的依赖库

    Qt 自动查找Qt应用程序缺少的依赖库 1 背景2 实例3 验证 1 背景 操作系统 xff1a windows10专业版 xff0c 如下图 xff1a Qt版本 xff1a qt opensource windows x86 msvc2
  • 【Qt】将QtDesigner生成的.ui文件转化为.h头文件

    Qt 将QtDesigner生成的 ui文件转化为 h头文件 1 背景2 实例3 附件 1 背景 操作系统 xff1a windows10专业版 Qt版本 xff1a qt opensource windows x86 msvc2013 6