QT的GUI设计基础(002)

2019-02-19  本文已影响0人  独一无二的柠檬
图标.jpg

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

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

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

*界面组件布局

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

*信号与槽

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

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

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

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

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

*信号与槽的关联
在设计UI使用纯代码时,信号与槽的关联当然也需要代码来完成。函数iniSignalSlot()可以初始化所有信号与槽的关联。
很显然,仅仅使用代码工作量会很庞大和复杂,但是为了兼顾简便和灵活,可以采用混合式UI设计。

4,混合方式UI设计

*设计目的
可视化可以直观的进行界面设计,提高工作效率,但是在可视化中某些组件可能无法可视化的添加到界面上,这是就需要代码来解决;采用纯代码设计效率太低,过程非常繁琐,但是功能很强大和灵活。因此需要代码的时候用代码,可视化可以解决的用可视化,这样就能取其长,避其短。

*创建项目并添加资源文件
(以新建一个Widget Application项目为例,选择QMainWindow作为基类,新建类名称设为QWMainWind)

*设计Action
Action可以创建菜单项,工具栏按钮,还可以设置为QToolButton按钮的关联Action。QAction是一个类,可以在界面设计上创建Action,并编写其trigger()信号的槽函数。点击这些由Action创建的菜单项,按钮就是执行Action的槽函数。
*设计菜单和工作栏
本项目的窗体类QWMainWind是从QMainWindow继承的,具有菜单栏,工具栏,状态栏。

*代码创建其他界面组件
UI设计器可以完成主要的界面功能,但是这些组件还不能工作,还需要编写一些代码来实现界面功能。
*Action的功能实现
Action的主要信号是trigger(),为一个Action的trigger()信号编写好槽函数之后,菜单和工具栏上由此Action创建的菜单项和工具栏都关联此槽函数。
Action有很多功能,比如剪切,复制,粘贴,清除,可以对文本进行操作,另外Action还可以设置粗体,斜体,下划线等等功能。

*手工创建的组件的信号与槽
编写槽函数代码,将信号与槽关联起来。

*为应用程序创建图标
一般Qt Creator创建的可执行文件有默认图标,如果想自定义,只需两步:

  1. 将一个图标文件(必须是“.ico”后缀)复制到项目源文件目录下;
  2. 在项目配置文件里用RC_ICONS设置图标文件名,并添加以下代码:
RC_ICONS = AppIcon.ico

这样就可以了。

5,Qt Creator的使用技巧
主要是快捷键和使用技巧。

上一篇下一篇

猜你喜欢

热点阅读