一. 信号与槽与函数指针
1.信号
自定义信号 写到.h文件的signals下
返回值是void ,只需要声明,不需要实现
可以有参数,可以重载
通过 emit 发送信号
2.槽
在.h文件在申明在.cpp文件中实现 前面加作用域
返回值 void ,需要声明,也需要实现
可以有参数,可以发生重载
3.函数指针
//指针 -> 地址
// 函数指针 -> 函数地址
void(Teacher:: *teacherSignal)(QString ) = &Teacher::hungry;
void(Student:: *studentSlot)(QString ) = &Student::treat;
connect(zt,teacherSignal,st,studentSlot);
4.lambda表达式
lambda表达式格式
[对象](参数){函数体}
常用格式
[=](){}
-
对象
对象 | 描述 |
---|
空 | 没有任何函数对象参数 |
= | 函数体内可以使用Lambda所在作用范围内所有可见的局部变量(包括Lambda所在类的this),并且是值传递方式 |
& | 函数体内可以使用Lambda所在作用范围内所有可见的局部变量(包括Lambda所在类的this),并且是引用传递方式 |
this | 函数体内可以使用Lambda所在类中的成员变量。 |
&a | 将a按引用进行传递 |
a, &b | 将a按值进行传递,b按引用进行传递。 |
=,&a, &b | 除a和b按引用进行传递外,其他参数都按值进行传递 |
&, a, b | 除a和b按值进行传递外,其他参数都按引用进行传递 |
| |
5.信号监听 connect
参数 | 类型 | 描述 |
---|
1 | | 信号发送者 |
2 | 函数指针 | 发送信号的地址 |
3 | | 信号接收者 |
4 | 函数指针/lambda表达式 | 处理信号的槽函数 |
二.窗口
1.头文件
头文件 | 描述 |
---|
QWidget | widget |
QMenuBar | 菜单栏 |
QToolBar | 工具栏 |
QStatusBar | 状态栏 |
QDockWidget | 铆接部件 |
| |
| |
QAction | |
QMenu | 菜单 |
2.实例化对象
3.widget窗口
方法
函数 | 描述 |
---|
setFixedSize | 设置固定大小不可改变 |
setMaximumSize | 设置最大大小 |
setMinimumSize | 设置最小大小 |
setWindowIcon | 设置图标 |
setWindowTitle | 设置标题 |
setMenuBar | 设置菜单栏 |
addToolBar | 添加工具栏 |
setStatusBar | 设置状态栏 |
addDockWidget | 添加铆接部件 |
void hide(void) | 隐藏窗口 |
void show(void) | 显示窗口 |
| |
setFixedSize(int w,int h) 设置窗口固定大小
setMaximumSize(int maxw,maxh)
参数 | 类型 | 描述 |
---|
maxw | int | 窗口宽 |
maxh | int | 窗口高 |
4.Action
方法
信号
5.菜单栏
菜单栏方法
菜单方法
方法 | 描述 |
---|
addAction() | 添加菜单项 |
addSeparator() | 添加分隔线 |
6.工具栏
工具栏方法
方法 | 描述 |
---|
setAllowedAreas() | 左右停靠 |
setFloatable() | 浮动开关 |
setMovaable() | 移动开关 |
addAction() | 添加工具项 |
addSeparator() | 添加分割线 |
addWidget() | 添加控件 |
| |
7.状态栏
状态栏方法
方法 | 描述 |
---|
addWidget() | 添加部件 |
addPermanentWidget() | |
insertWidget() | 插入部件 |
removeWidget() | 删除部件 |
8.铆接部件
方法
方法 | 描述 |
---|
setAllowedAreas() | 设置区域范围 |
三.控件
1.按钮
头文件
方法
方法 | 描述 |
---|
setParent() | 设置按钮依附窗口 |
setEnabled() | 按钮禁用/开启 |
resize() | 重置按钮大小 |
move() | 移动按钮 |
setIcon() | 设置图标 |
show() | 以顶层方式弹出控件 |
| |
信号
2.Lable标签
头文件
方法
方法 | 描述 |
---|
setFont() | 设置字体 |
setFixedSize() | 设置标签大小 |
setText() | 设置文本显示内容 |
setParent() | 设置标签依附窗口 |
move() | 移动标签 |
setAlignment() | 标签内容对齐方式 |
setAtribute() | 设置鼠标穿透标签控件 |
setGeomerty() | 设置图片在标签中位置 |
setPixmap() | 设置图片 |
setMovie() | 加载动态图片 |
| |
3.LineEdit单行文本编辑器
头文件
方法
方法 | 描述 |
---|
QString text(void) | 获取文本框内文字 |
void clear(void) | 清空内容 |
setEchoMode() | 显示方式 |
| |
信号
4.TextEdit多行文本编辑器
头文件
方法
方法 | 描述 |
---|
document() | |
toPlainText() | 去除纯文本读取 |
setTextColor() | 设置颜色 |
setFont() | 设置字体 |
append() | 在末尾追加内容 |
Undo() | 复制 |
Redo() | 裁剪 |
Copy() | 粘贴 |
| |
7.单选框
头文件
方法
8.下拉框
头文件
方法
方法 | 描述 |
---|
setParent() | 设置依附窗口 |
setFixedSize() | 设置大小 |
addItem() | 添加选项 |
setCurrentIndex() | 设置选中选项 |
setCurrentText() | 设置选中字体 |
currentIndex() | 获取当前选取号 |
9.ListWidget
头文件
实例化对象
类 | 描述 |
---|
QListWidget | |
QListWidgetItem | item项 |
ListWidget方法
方法 | 描述 |
---|
addItem() | 添加item项 |
takeItem(); | |
currentRow(); | 获取当前选中项序号 |
count(); | 统计选项数量 |
ListWidgetItem方法
方法 | 描述 |
---|
setText() | 设置显示文本 |
setTextAlignment() | |
ListWidgetItem信号
信号 | 描述 |
---|
singleClicked | 单击 |
doubleClicked | 双击 |
10.TreeWidgetItem
头文件
实例化对象
QTreeWidgetItem | | |
---|
QTreeWidgetItem | | treeWidget树控件 |
QTreeWidgetItem | QTreeWidgetItem() | 节点 |
TreeWidgetItem方法
方法 | 描述 |
---|
addTopLevelItem() | 添加顶层节点 |
| |
| |
TreeWidgetItem方法
11.TableWidget
头文件
实例化对象
方法
方法 | 描述 |
---|
setColumnCount() | 设置列数 |
setHorizontalHeaderLabels() | 设置水平表头 |
setRowCount() | 设置行数 |
setItem() | 设置正文 |
其他控件
if(ui->checkBox ->isChecked())
spinBox 控件
读取spinBox的值
ui->spinBox->value()
栈控件使用
//设置默认定位 scrollArea
ui->stackedWidget->setCurrentIndex(1);
scrollArea按钮
connect(ui->btn_scrollArea,&QPushButton::clicked,={
ui->stackedWidget->setCurrentIndex(1);
});
toolBox按钮
connect(ui->btn_ToolBox,&QPushButton::clicked,={
ui->stackedWidget->setCurrentIndex(2);
});
四.图像
1.静态图片
头文件
实例化对象
方法
方法 | 描述 |
---|
load() | 加载图片 |
scaled() | 按比例缩放 |
save() | 保存图片 |
2.动态图片
头文件
实例化对象
方法
方法 | 描述 |
---|
start(); | 开始播放 |
stiop() | 停止播放 |
3.绘图
头文件
实例化对象
类 | 构造函数 | 描述 |
---|
QPainter | Painter() | 实例化画家对象 |
QPen | pen() | 画笔 |
QBrush | brush() | 画刷 |
| | |
QPainter方法
方法 | 描述 |
---|
setPen() | 使用画笔 |
setBrush() | 使用画刷 |
drawLine() | 画线 |
drawEllipse() | 画圆,椭圆 |
drawRect() | 画矩形 |
drawText() | 画文字 |
setRenderHint() | 设置抗锯齿能力 |
translate() | 移动画家 |
save() | 保存画家状态 |
restore() | 还原画家状态 |
drawPixmap() | 绘制图片 |
| |
| |
| |
QPen方法
方法 | 描述 |
---|
setWidth() | 设置画笔宽度 |
setStyle() | 设置画笔风格 |
| |
| |
QBrush方法
4.动画
头文件
对象
类 | 构造函数 | 描述 |
---|
QPropertyAnimation | | |
方法
方法 | 描述 |
---|
getDuration() | 设置时间间隔 |
setStartValue() | 设置起始位置 |
setEndValue() | 设置结束位置 |
setEasingCurve() | 设置弹跳曲线 |
start() | 执行动画 |
五.多媒体
1.音效
头文件
实例化对象
方法
六.对话框
1.对话框
头文件
实例化对象
方法
方法 | 描述 |
---|
resize() | 制定大小 |
show() | 显示 |
exec() | 阻塞 |
| |
2.消息对话框
头文件
方法
方法 | 秒送 |
---|
question() | 提问对话框 |
information() | 信息提示对话框 |
critical() | 错误消息对话框 |
warning() | 警告对话框 |
setText() | 设置文本 |
setInformaativeText() | 设置显示信息 |
setStandarButtons() | 设置显示按钮 |
setDefaultButton() | 设置默认按钮 |
exec() | 返回执行操作 |
3.字体对话框
头文件
实例化对象
QFontDialog方法
4.颜色对话框
头文件
实例化对象
QColorDialog 方法
七.文件及目录
头文件
实例化对象
类 | 描述 |
---|
QFile | 文件对象 |
QFileDialog | 文本对话框 |
QDir | 系统目录操作 |
QTextStream | 读写文件 |
QTextCodec | 编码格式 |
QByreArray | |
QFileInfo | 文件信息 |
| |
| |
QFile方法
方法 | 描述 |
---|
open() | 打开文件 |
close() | 关闭文件 |
write() | 写入 |
QFileDialog方法
QDir方法
方法 | 描述 |
---|
homePath() | 获取家目录 |
rootPath()_ | 获取管理员目录 |
tempPath() | 获取临时目录 |
currentPath() | 获取当前目录 |
QTextStream方法
方法 | 描述 |
---|
in() | 读取文本信息 |
out() | 写入文本信息 |
QFileInfo方法
方法 | 描述 |
---|
size() | 大小 |
suffix() | 后缀 |
fileName() | 文件名 |
filePath() | 文件路径 |
created() | 创建日期 |
lastModified() | 最后修改日期 |
1.文本对话框
头文件
方法
方法 | 描述 |
---|
getOpenFileName() | 获取文件信息 |
八.桌面服务
头文件
头文件 | 描述 |
---|
QUrl | |
QDesktopServices | |
QDesktopServices方法
九.网络
1.在pro工程文件中添加network
QT += core gui network
1.TCP客户端
2.TCP服务器
头文件
文件名 | 描述 |
---|
QTcpServer | TCP服务器 |
QTcpSocket | TCP套接字 |
对象
对象 | 描述 |
---|
QTcpServe | TCP服务器 |
QTcpSocket | TCP客户端 |
QTcpServe方法
方法 | 描述 |
---|
listen(); | 选择监听网卡,自定义端口号 |
nextPendingConnection() | 获取连接对象 |
| |
| |
| |
QTcpServer事件
事件 | 描述 |
---|
newConnection | 新客户端连接请求 |
QTcpSocket方法
方法 | 描述 |
---|
socket->peerAddress() | 获取IP地址 |
socket->peerPort() | 获取连接端口 |
readAll() | 获取接收消息 |
write() | 向客户端发送信息 |
QTcpSocket事件
十.共享内存
头文件
实例化对象
方法
方法 | 描述 |
---|
isAttached() | 判断共享内存是否存在 |
detach() | 删除共享内存 |
| |
| |
十一.浏览器操作
十二.数据库
工程文件
QT += mysql
头文件
实例化对象
方法
方法 | 描述 |
---|
addDatabase(“QMYSQL”); | |
setHostName(“localhost”); | |
setUserName(“root”); | |
setPassword(“1234”); | |
setDatabaseName(“student”); | |
open(); | |
其它常用功能
1.定时器
头文件
对象
方法
方法 | 描述 |
---|
start() | 启动定时器 |
stop() | 停止定时器 |
| |
信号
2.延时处理函数
QTimer::SingleShot();
3.鼠标
事件
事件 | 描述 |
---|
mousePressEvent(QMouseEvent *e)) | 鼠标按下事件 |
mouseReleaseEvent(QMouseEvent *ev) | 鼠标释放 |
enterEvent(QEvent *event); | 鼠标进入 |
leaveEvent(QEvent *); | 鼠标离开 |
mouseMoveEvent(QMouseEvent *ev) | 鼠标移动 |
方法
方法 | 描述 |
---|
button() | 判断鼠标操作按键 |
QCursor::pos() | 获取鼠标当前位置 |
ev->globalX() | |
ev->globalY() | |
ev->x() | |
ev->y() | |
| |
| |
4.获取当前系统时间
头文件
实例化对象
方法
方法 | 描述 |
---|
CurrentDataTime() | 获取当前系统时间 |
5.程序初始化等待
程序初始化等待图片
在main函数中
QPixmap pixmap("地址");
QSplashScreen splash(pixmap);
splash.show();
6.程序关闭
头文件
事件
继承类 | 事件 | 描述 |
---|
MainWindow | closeEvent | |
方法
方法 | 描述 |
---|
ignore() | 忽略关闭事件 |
accept() | 执行关闭事件 |
7.cmd命令
头文件
方法
8.启动外部程序
头文件
实例化对象
类 | 构造函数 | 描述 |
---|
QProcess | QProcess() | 外部程序对象 |
QProcess()
例
方法
start()