QT Designer

1、Designer简述

Qt Designer 是用于使用 Widget 设计和构建图形用户界面(GUI)的Qt工具。

Qt Designer 有如下优点:

  • 直接编辑窗口或对话框,并使用不同的样式和分辨率对其进行测试;

  • 方便使用Qt的信号和插槽机制,使用Qt Designer创建的 Widget 和 From 可以与编程代码无缝集成;

  • 在Qt Designer中设置的所有属性都可以在代码中动态更改;

  • 在Qt Designer可将窗口或控件提升为自定义组件。

Qt Creator在设计模式下自动在集成的Qt Designer中打开所有.ui文件,当然也可以在独立的Qt Designer中进行使用。

打开UI文件,便会预览到如下内容,大致由6个部分组成

Qt Designer 也叫 UI 设计师或者 UI 设计器

2、Qt中的布局概念

QT布局用于安排和管理组成用户界面的元素,布局可在以下情况提供帮助:

  • 调整用户界面的大小以适合不同的窗口大小。

  • 在用户界面中调整元素的大小以适合不同的本地化。

  • 安排元素以遵守不同平台的布局准则。

QT布局分类:

  • QHBoxLayout

  • QVBoxLayout

  • QGridLayout

  • QFormLayout

每个Qt 控件都有一个建议的大小,称为sizeHint()。布局管理器将尝试调整窗口控件的大小,以 满足其大小提示。在某些情况下,不需要具有其他大小。例如QLineEdit 的高度始终是固定值,具 体取决于字体大小和样式。在其他情况下,可能需要更改大小,例如QLineEdit 的宽度或项目 视图小部件的宽度和高度。这是小部件尺寸约束-minimumSize 和maximumSize 约束起作用的地 方。 这些值可以在属性编辑器中进行设置。例如,要覆盖默认的sizeHint(),只需设置minimumSize和maximumSize 为相同的值。或者,要将当前大小用作大小限制值,请从小部件的上下文菜单中选择”大小限制”选项之一。然后,布局将确保满足这些约束。要通过代码控制小部件的大小,可以在代码中重新实现sizeHint()。 简而言之,把布局想象成一个尽可能缩小的盒子,尝试以整齐的方式挤压小部件,同时最大程度地利用可用空间。 Qt 的布局可在以下情况提供帮助: • 调整用户界面的大小以适合不同的窗口大小。 • 在用户界面中调整元素的大小以适合不同的本地化。 • 安排元素以遵守不同平台的布局准则。

3、手动添加UI文件

实现一个简单的ui文件,文本中记录了窗体名,类名,窗体长宽和标题栏要显示的字符

在编译程序的时候,会使用到Qt的一个工具用户界面编译器(uic), 它负责将xml格式的代码编译转换成一个标准的C++类

4、工程管理

  • .h .c++ 文件为头文件和源文件,代码通常都是写在这两种文件中的

  • .ui 文件就是我们前面提到界面文件,其实质是xml格式的文本文件

  • .pro 文件就是这节要提到的工程管理文件,以qmake特有的语法记录了工程的文件和配置

  • .pri pri文件通常也用于工程管理,将代码整理成一个模块,通过引入pri文件来引入代码模块

  • .pro.user 为用户描述文件,记录了我们工程的开发环境构建环境等等,也是xml格式的文本文件

  • .qrc 除上面的文件,工程中一般还会有qrc资源文件,用于记录图片,音视频等文件

工程的目录和在 Qt Designer 中看到的工程结构不太一样, 是因为 Qt Designer 有对 pro 文件进行解析并按照其内容进行相关设置

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 15:24:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 15:24:01       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 15:24:01       58 阅读
  4. Python语言-面向对象

    2024-07-12 15:24:01       69 阅读

热门阅读

  1. 【Go系列】 Go语言数据结构

    2024-07-12 15:24:01       15 阅读
  2. 富格林:曝光纠正安全交易误区

    2024-07-12 15:24:01       18 阅读
  3. uniapp安卓离线打包配置scheme url

    2024-07-12 15:24:01       22 阅读
  4. 1.2- init.rc解析

    2024-07-12 15:24:01       18 阅读
  5. 数据如何查询

    2024-07-12 15:24:01       19 阅读
  6. 21 数据服务Ark Data Kit

    2024-07-12 15:24:01       16 阅读
  7. 小抄 20240710

    2024-07-12 15:24:01       19 阅读
  8. LeetCode:经典题之102、103题解及延伸

    2024-07-12 15:24:01       20 阅读
  9. 软设模式之状态模式

    2024-07-12 15:24:01       19 阅读
  10. redis

    redis

    2024-07-12 15:24:01      21 阅读
  11. Python数据分析~~美食排行榜

    2024-07-12 15:24:01       16 阅读