QT使用注意

时间:2021-12-12 05:55:52
【文件属性】:

文件名称:QT使用注意

文件大小:2.22MB

文件格式:ZIP

更新时间:2021-12-12 05:55:52

QT

  0. 窗口布局     1) 支持绝对布局和布局管理器布局;     2) 绝对布局不够灵活、无法自动调整大小,需要手动编写代码调整;     3) 布局管理器管理布局比较灵活、可自动调整管理的其下部件大小、位置;     4) 布局管理器目前有基本布局QBoxLayout(水平布局QHBoxLayout、垂直QVBoxLayout)、栅格布局QGridLayout、表单布局QFormLayout、栈布局QStackedLayout;     5) 还有其他的布局,不过一般用于其他目的,如QPageLayout用于页文档。   1. 对象模型(要求必须继承自QObject类或其子类,部分特性需要meta-object system支持(即Moc预编译器))     一、信号与槽       1) 支持多对多的信号与槽函数的关联关系,QObject的connect静态函数实现信号与槽的关联(connect有多个重载函数);       2) 当某个信号关联到不同的槽函数时,不同槽执行的顺序是按照建立某信号时的顺序;       3) 信号只能声明且无返回值,此外由关键字signals指定,也不可有其他修饰限定符如public、static等;       4) 发射信号用emit关键字以及信号函数或可能的参数值,注意信号的参数应与槽的参数对应,并且信号的参数个数可以比槽的参数个数少,反之不可;       5) 槽函数slots关键字作为修饰限定符,可以有其他的修饰限定符如public、static等,也可以为虚函数;       6) connect函数最后一个参数为关联关系,默认为AutoConnection即槽执行完成后才返回执行emit后的代码;若为其他的如QueuedConnection则会继续执行emit后         的代码而无论槽是否执行或执行完成;具体效果还需要信号与槽所在线程是否为同一线程与否有不同的表现,disconnect可断开关联关系;       7) 支持信号与槽机制时,需要继承自QObject类或其子类并且在类声明开始时添加Q_OBJECT宏;       8) 自动关联信号与槽,一般声明槽格式如:on_pushButton_clicked(),其以on、部件对象名、信号加下划线组成;不再需要connect建立关联;         另外一定要在setupUI调用之前设置部件的对象名(因setupUI内部调用了connectSlotsByName,若setupUI之后设置组件对象名自动关联可能会失效),此外自动关联         只能支持已预先定义好的信号,不支持自定义信号;       9) 信号与槽机制使得发送者和接收者为松耦合的,参数类型、参数个数任意比较灵活,但是性能较差于回调函数机制的方式。


【文件预览】:
QT.one

网友评论