1.2 QT随手简记(二)

2024-06-05 14:28
文章标签 qt 简记 1.2 随手

本文主要是介绍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. 组件属性设置

  • 通用属性:如geometryfont等。

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对象:与文件路径绑定。
  • 打开文件:设置读写模式。
  • 读写文件:使用readwrite等方法。
  • 关闭文件:调用close方法。

3. 字符串与字节数组转换

  • 自动转换QByteArrayQString
  • 转换函数toUtf8()data()等。

九、自定义对话框

1. 对话框模板

  • Dialog:独立弹窗。
  • MainWindow:多界面跳转。
  • Widget:子窗口嵌套。

2. 模态与非模态

  • 模态对话框exec()方法。
  • 非模态对话框show()方法。

十、定时器、日期与时间

1. 定时器QTimer

  • 定义与启动:创建对象,设置时间,启动。
  • 定时器作用:替代循环,执行定时任务。

2. 日期QDate

  • 获取当前日期currentDate()方法。

3. 时间QTime

  • 获取当前时间currentTime()方法。

十一、列表框操作

1. 横向列表框QListWidget

  • 添加、查找、删除列表项:使用addItemfindItemstakeItem等方法。

2. 树状列表框QTreeWidget

  • 设置头标签setHeaderLabel
  • 添加节点addTopLevelItemaddChild

3. 表格列表框QTableWidget

  • 设置行列数setColumnCountsetRowCount
  • 设置内容setItem

十二、命令参数

以下是部分命令的参数表格示例:

命令参数作用
QListWidget::addItemconst QString &label添加文本项
QListWidgetItem::text获取列表项文本
QListWidget::findItemsconst QString &text, Qt::MatchFlags flags查找列表项
QListWidget::takeItemint row删除指定行的列表项
QListWidget::setFont设置列表框字体
QListWidget::setIconSizeconst QSize &size设置列表框图标大小
QTreeWidget::setHeaderLabelconst QString &label设置树状列表框头标签
QTreeWidget::addTopLevelItemQTreeWidgetItem *item添加顶层节点
QTreeWidgetItem::addChildQTreeWidgetItem *child添加子节点
QTableWidget::setColumnCountint columns设置表格列数
QTableWidget::setHorizontalHeaderLabelsconst QStringList &labels设置表格水平头标签
QTableWidget::setItemint row, int column, QTableWidgetItem *item设置表格内容
QTimer::setIntervalint msec设置定时器超时时间
QDate::currentDate获取当前日期
QTime::currentTime获取当前时间

请注意,以上表格仅作为示例,实际参数和作用需要根据具体API文档进行详细查阅和整理。

这篇关于1.2 QT随手简记(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1033310

相关文章

基于Qt Qml实现时间轴组件

《基于QtQml实现时间轴组件》时间轴组件是现代用户界面中常见的元素,用于按时间顺序展示事件,本文主要为大家详细介绍了如何使用Qml实现一个简单的时间轴组件,需要的可以参考下... 目录写在前面效果图组件概述实现细节1. 组件结构2. 属性定义3. 数据模型4. 事件项的添加和排序5. 事件项的渲染如何使用

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

python与QT联合的详细步骤记录

《python与QT联合的详细步骤记录》:本文主要介绍python与QT联合的详细步骤,文章还展示了如何在Python中调用QT的.ui文件来实现GUI界面,并介绍了多窗口的应用,文中通过代码介绍... 目录一、文章简介二、安装pyqt5三、GUI页面设计四、python的使用python文件创建pytho

QT实现TCP客户端自动连接

《QT实现TCP客户端自动连接》这篇文章主要为大家详细介绍了QT中一个TCP客户端自动连接的测试模型,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录版本 1:没有取消按钮 测试效果测试代码版本 2:有取消按钮测试效果测试代码版本 1:没有取消按钮 测试效果缺陷:无法手动停

基于Qt实现系统主题感知功能

《基于Qt实现系统主题感知功能》在现代桌面应用程序开发中,系统主题感知是一项重要的功能,它使得应用程序能够根据用户的系统主题设置(如深色模式或浅色模式)自动调整其外观,Qt作为一个跨平台的C++图形用... 目录【正文开始】一、使用效果二、系统主题感知助手类(SystemThemeHelper)三、实现细节

Qt实现文件的压缩和解压缩操作

《Qt实现文件的压缩和解压缩操作》这篇文章主要为大家详细介绍了如何使用Qt库中的QZipReader和QZipWriter实现文件的压缩和解压缩功能,文中的示例代码简洁易懂,需要的可以参考一下... 目录一、实现方式二、具体步骤1、在.pro文件中添加模块gui-private2、通过QObject方式创建

Qt QWidget实现图片旋转动画

《QtQWidget实现图片旋转动画》这篇文章主要为大家详细介绍了如何使用了Qt和QWidget实现图片旋转动画效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、效果展示二、源码分享本例程通过QGraphicsView实现svg格式图片旋转。.hpjavascript

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

usaco 1.2 Palindromic Squares(进制转化)

考察进制转化 注意一些细节就可以了 直接上代码: /*ID: who jayLANG: C++TASK: palsquare*/#include<stdio.h>int x[20],xlen,y[20],ylen,B;void change(int n){int m;m=n;xlen=0;while(m){x[++xlen]=m%B;m/=B;}m=n*n;ylen=0;whi

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (