本文主要是介绍1.2 QT随手简记(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
QT学习篇2
一、QT学习方法
1. QT查询与学习资源
- QT助手:学会使用QT的助手和上网查询,掌握API文档的查询与使用。
- QT设计师界面:通过图形界面进行组件的拖拽布局,所见即所得。
2. QT设计师界面操作
- 跳转与代码生成:双击
.ui
文件跳转到设计师界面,自动生成XML和C++代码。 - 组件使用:拖拽组件到窗口,复制组件,设置属性。
3. 组件与类名对应规律
- Display Widgets:如
Label
对应QLabel
。 - Input Widgets:如
Line Edit
对应QLineEdit
。 - Buttons:如
Push Button
对应QPushButton
。
二、QT界面设计
1. 样式设计
- 资源文件:存放素材如图片、音频、视频。
- QSS语句:用于界面美观设计,如设置背景色、图片等。
2. 登录界面实现
- 代码实现:通过编写代码实现登录界面的逻辑功能。
三、QT基础组件与字符串处理
1. 组件属性设置
- 通用属性:如
geometry
、font
等。
2. 字符串处理
- QString类:用于字符串操作,提供多种字符串处理函数。
四、信号与槽机制
1. 信号与槽的作用
- 通信机制:组件间通过信号与槽进行通信。
2. 关联信号与槽
- 自动关联:通过IDE自动生成槽函数。
- 手动关联:使用
connect
函数手动关联。
3. 信号与槽的特点
- Q_OBJECT宏定义:必须在类定义中加入以支持信号与槽。
- 参数传递:信号与槽的参数必须匹配。
五、多界面跳转与参数传递
1. 界面跳转
- 无需返回:创建新界面对象并显示,关闭当前界面。
- 需要返回:创建新界面对象,传递
this
指针,隐藏当前界面。
2. 添加新界面
- 通过IDE:右键工程名,选择添加QT设计师界面类。
3. 界面间参数传递
- 公有方法:定义公有方法传递参数。
- 自定义信号:通过信号传递参数。
六、布局管理器
1. 布局管理器的作用
- 对齐组件:使组件在界面上整齐排列。
2. 常用布局管理器
- 水平布局:
QHBoxLayout
。 - 垂直布局:
QVBoxLayout
。 - 栅格布局:
QGridLayout
。
3. 布局管理器使用技巧
- 固定尺寸:设置最小和最大尺寸。
- 使用分隔器:实现水平和垂直方向的伸缩。
七、消息盒子与对话框
1. 消息盒子QMessageBox
- 弹出消息:警告、错误、帮助等。
2. 自带对话框
- 颜色对话框:
QColorDialog
。 - 字体对话框:
QFontDialog
。 - 文件对话框:
QFileDialog
。
八、文件IO操作
1. 涉及的类
- QFile:文件操作。
- QDir:目录操作。
- QFileInfo:文件属性信息。
2. 文件操作步骤
- 定义QFile对象:与文件路径绑定。
- 打开文件:设置读写模式。
- 读写文件:使用
read
、write
等方法。 - 关闭文件:调用
close
方法。
3. 字符串与字节数组转换
- 自动转换:
QByteArray
与QString
。 - 转换函数:
toUtf8()
、data()
等。
九、自定义对话框
1. 对话框模板
- Dialog:独立弹窗。
- MainWindow:多界面跳转。
- Widget:子窗口嵌套。
2. 模态与非模态
- 模态对话框:
exec()
方法。 - 非模态对话框:
show()
方法。
十、定时器、日期与时间
1. 定时器QTimer
- 定义与启动:创建对象,设置时间,启动。
- 定时器作用:替代循环,执行定时任务。
2. 日期QDate
- 获取当前日期:
currentDate()
方法。
3. 时间QTime
- 获取当前时间:
currentTime()
方法。
十一、列表框操作
1. 横向列表框QListWidget
- 添加、查找、删除列表项:使用
addItem
、findItems
、takeItem
等方法。
2. 树状列表框QTreeWidget
- 设置头标签:
setHeaderLabel
。 - 添加节点:
addTopLevelItem
、addChild
。
3. 表格列表框QTableWidget
- 设置行列数:
setColumnCount
、setRowCount
。 - 设置内容:
setItem
。
十二、命令参数
以下是部分命令的参数表格示例:
命令 | 参数 | 作用 |
---|---|---|
QListWidget::addItem | const QString &label | 添加文本项 |
QListWidgetItem::text | 获取列表项文本 | |
QListWidget::findItems | const QString &text, Qt::MatchFlags flags | 查找列表项 |
QListWidget::takeItem | int row | 删除指定行的列表项 |
QListWidget::setFont | 设置列表框字体 | |
QListWidget::setIconSize | const QSize &size | 设置列表框图标大小 |
QTreeWidget::setHeaderLabel | const QString &label | 设置树状列表框头标签 |
QTreeWidget::addTopLevelItem | QTreeWidgetItem *item | 添加顶层节点 |
QTreeWidgetItem::addChild | QTreeWidgetItem *child | 添加子节点 |
QTableWidget::setColumnCount | int columns | 设置表格列数 |
QTableWidget::setHorizontalHeaderLabels | const QStringList &labels | 设置表格水平头标签 |
QTableWidget::setItem | int row, int column, QTableWidgetItem *item | 设置表格内容 |
QTimer::setInterval | int msec | 设置定时器超时时间 |
QDate::currentDate | 获取当前日期 | |
QTime::currentTime | 获取当前时间 |
请注意,以上表格仅作为示例,实际参数和作用需要根据具体API文档进行详细查阅和整理。
这篇关于1.2 QT随手简记(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!