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

Qt中的UIC

      Qt中的UIC(User Interface Compiler, 用户界面编译器):读取由Qt Widgets Designer生成的XML格式(.ui)文件并创建相应的C++头文件或Python源文件。如将mainwindow.ui文件生成ui_mainwindow.h。

      uic.exe位置在6.8.0\msvc2019_64\bin ,其支持的输入参数如下所示:

      mainwindow.ui文件内容示例如下:在vs2022中此文件可以直接使用Qt Creator打开

      生成ui_mainwindow.h文件内容示例如下:

      Qt Widgets Designer UI文件:以XML格式表示表单的部件树(represent the widget tree of the form in XML format)。表单可以进行以下处理:

      在编译时,表单被转换为可以编译的C++代码。

      在运行时,表单由QUiLoader类处理,该类在解析XML文件的同时动态构建部件树。

      编译时表单处理

      你可以使用Qt Widgets Designer创建用户界面组件,并在构建应用程序时使用Qt集成的构建工具qmake和uic为这些组件生成代码。生成的代码包含表单的用户界面对象。它是一个C++结构体,包含

      (1).指向表单的部件、布局、布局项、按钮组(form's widgets, layouts, layout items, button groups, and actions)的指针。

      (2).一个名为setupUi()的成员函数,用于在父部件上构建部件树。

      (3).一个名为retranslateUi()的成员函数,用于处理表单字符串属性的翻译。

      生成的代码可以包含在你的应用程序中并直接使用。或者,你可以使用它来扩展标准部件的子类。

      你可以在应用程序中使用编译时处理的表单,方法如下:

      (1).直接方法:构建一个部件作为组件的占位符,并在其中设置用户界面。

      (2).单继承方法:继承表单基类(例如QWidget或QDialog),并包含表单用户界面对象的私有实例。

      (3).多继承方法:继承表单基类和表单用户界面对象。这样,表单中定义的部件就可以在子类的范围内直接使用。

      运行时表单处理:可以通过使用QtUiTools模块来实现,该模块提供了QUiLoader类来处理使用Qt Widgets Designer创建的表单。

      自动连接:编译时或运行时表单定义的信号和槽连接可以手动或自动设置,使用QMetaObject在信号和适当命名的槽之间建立连接的功能。

      注:以上整理的内容主要来自于Qt官方文档

      GitHub:https://github.com/fengbingchun/Qt_Test

相关文章:

  • 【机器学习-线性回归-5】多元线性回归:概念、原理与实现详解
  • 数据库的二级索引
  • 2022年全国青少年信息素养大赛 Python编程挑战赛 小学/初中组 初赛真题答案详细解析
  • 直方图比较
  • Web前端开发:Grid 布局(网格布局)
  • RGB三原色
  • Notebook.ai 开源程序是一套工具,供作家、游戏设计师和角色扮演者创建宏伟的宇宙 - 以及其中的一切
  • 多线程-探索
  • volatile 关键字应用大全
  • 民主与民族主义作为暴力时代的财政策略
  • 基于SRS实现流媒体服务器(最简单的流媒体服务器)
  • Vite 的工作流程
  • 一文读懂Python之pandas模块
  • 代码随想录第32天:动态规划5(组合、排列、最小方法数)
  • 强化学习ppo算法在大语言模型上跑通
  • 迭代器模式
  • python计算shp中每个区域的面积
  • 语音合成之十一 提升TTS语音合成效果:低质量数据清洗、增强与数据扩增
  • 判断字符是否唯一 --- 位运算
  • C++ 外观模式详解
  • 为什么所有动物里,只有人类幼崽发育得这么慢?
  • 长三角9座“万亿城市”一季报出炉:多地机器人产量大增
  • 泰国培训十万网络安全人员加强网络防御打击电诈
  • 酒店民宿一房难求,湖北宣恩文旅局工作人员腾出家中空房给游客救急
  • 马克思主义理论研究教学名师系列访谈|金瑶梅:教师需要了解学生的现实发展,把握其思想发展动态
  • 人形机器人,最重要的还是“脑子”