QT的GUI设计基础(002)

QT的GUI设计基础(002)

1,UI文件设计与运行机制。(以新建一个Widget Application项目为例,选择QWidget作为窗体基类)

项目文件组成(四部分):

  • 项目管理文件——“.pro”

  • 主函数文件——“main.cpp”

  • 界面文件——“.ui”

  • 窗体相关的文件——“widget.h” “widget.cpp” “widget.ui” “ui_widget.h”。

2,可视化UI设计。(以新建一个Widget Application项目为例,选择QDialog作为窗体基类)

*界面组件布局

Qt界面设计使用了布局(layout)功能,可以使界面上组件的排列和分布更有规则。

*信号与槽

信号与槽是Qt设计的基础,也是一大创新。举例:按下按钮A后窗口B关闭。其逻辑顺序如下:

信号(signal) clicked() 槽(slot) closed()
按钮A 按下 窗口B 关闭

*可视化生成槽函数原型与框架

选中面板上的组件,右击调出快捷菜单,选择“go to slot”,之后通过对话框选择点击实现信号与槽的功能。

3,代码化UI设计。(以新建一个Widget Application项目为例,选择QDialog作为窗体基类,创建时取消创建窗体,即不勾选“Generate form”复选框)
代码化比可视化更加强大和灵活,接下来介绍如何创建:
*界面创建

  • QWDlgManual类定义
  • 界面组件的创建与布局

*信号与槽的关联
在设计UI使用纯代码时,信号与槽的关联当然也需要代码来完成。函数iniSignalSlot()可以初始化所有信号与槽的关联。
很显然,仅仅使用代码工作量会很庞大和复杂,但是为了兼顾简便和灵活,可以采用混合式UI设计。
4,混合方式UI设计。设计目的,创建项目并添加资源文件,设计Action,设计菜单和工作栏,代码创建其他界面组件,Action的功能实现,手工创建的组件的信号与槽,为应用程序创建图标。

5,Qt Creator的使用技巧