QT相关知识

Qt类的结构:
QT按功能分模块

core模块: 所有的其它模块都依赖此模块,默认加载
此模块常用的类:
容器类: QString QByteArray QList QLinkedList QVector
几何类: QPoint QSize QRect 
文件类: QFile QFileInfo QDir

gui模块: 包含了开发图形用户界面程序所需的功能,默认加载
此模块常用的类:
QColor QFont QImage QPixmap QIcon QCursor


widgets模块:提供了一个 用于创建典型桌面应用程序的 UI元素的 集合 
窗体类:
QWidget 最基本的窗体类
QMainWindow 主窗体类,包括菜单、工具栏、状态栏、[停靠窗口]
QDialog 对话框窗体类,模态对话框和非模态对话框

控件:显示控件、按钮、输入控件、容器、布局、表格...


sql模块:
network模块:

QObject QPaintDevice
--------------------
|
QWidget
|
--------------------------------------
| | |
QMainWindow QDialog 控件(如标签、按钮...)



QObject
connect()
tr()

QPaintDevice
所有的可视化控件都是绘制设备

QWidget--负责可视化控件的常规属性和基本事件
常规属性:
几何属性:位置、大小
图标、光标、标题
基本事件:
鼠标事件
键盘事件
绘制事件


----------------------------------------------
布局:Layout
就是把各个控件放在合适的位置,占据适当大小的空间

1.手动布局
move() resize()
2.布局器布局
QLayout
|-QBoxLayout
|-QHBoxLayout 水平布局
|-QVBoxLayout 垂直布局

addWidget(QWidget*)//在布局中添加 控件
addLayout(QLayout*)//在布局中添加 布局


|-QGridLayout 栅格布局

void addWidget(QWidget * widget, //要添加的控件
int fromRow, //放到哪一行
int fromColumn, //放到哪一列
int rowSpan, //占几行
int columnSpan, //占几列
Qt::Alignment alignment = 0//对齐 方式
);

|-QFormLayout 表单布局


3.可视化布局

qt designer 利用Qt设计器

信号和槽:Signals & Slots
信号和槽是一种高级接口,是QT自定义的一种通信机制,独立于C++,
应用于对象之间的通信,是QT的核心特性,也是QT区别于其它工具包的重要地方。

所有的QObject或其派生类(如QWidget)都包含信号和槽。

信号:就是个公有函数,由MOC实现,我们不需要实现,只要声明即可,返回值通常是void
当对象的内部状态发生改变,信号就由该对象发射(emit)出去
只有定义过该信号的类及其派生类才能发射该信号


槽: 是普通的C++成员函数,可被正常调用,唯一的特性就是可以和信号相关联
有访问权限的


当信号被发射时,与其关联的槽函数立即被执行。

信号与槽的关联:
connect(sender, //信号的发出者
SIGNAL(signals), //发出了什么信号
receiver, //信号的接收者
SLOT(slots) //接收到信号后要执行的功能
);


信号和槽还可以带参数,但信号和槽的参数要一致
一个信号可以连接多个槽
多个信号可以连接一个槽

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值