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文档进行详细查阅和整理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/680347.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大数据湖一体化平台整体建设方案(PPT原件)

背 景:大数据湖的发展背景与建设理念 体 系:大数据湖体系规划与建设思路 生态圈:探索新兴业务入湖建设模式 共 享:大数据湖统一访问共享规划 运 营:大数据湖一体化运营管理建设 软件全套资料部分文档清单&…

使用Django JWT实现身份验证

文章目录 安装依赖配置Django设置创建API生成和验证Token总结与展望 在现代Web应用程序中,安全性和身份验证是至关重要的。JSON Web Token(JWT)是一种流行的身份验证方法,它允许在客户端和服务器之间安全地传输信息。Django是一个…

Canva如何通过从MySQL迁移到DynamoDB来管理每日新增的5000万素材

随着数字化设计的蓬勃发展,Canva作为一家在线设计平台,面临着海量的用户生成内容。每天,平台上新增的素材数量高达5000万,这对数据库系统提出了前所未有的挑战。为了应对这一挑战,Canva决定将原本基于MySQL的数据库系统…

100000开发的系统,执意重构钱多执念?

收到一位客户询盘,要重做自己的系统,原因:嫌弃基于PHP做的系统服务器消耗大。咨询了好几拨人,觉得外包公司贵,个人程序员又不靠谱,总之一门心思要重构。 现状: 1、系统研发耗费100000。 2、目…

5款相见恨晚的神级软件推荐,每一款都让人惊喜

今天来给大家种草5款特别赞且完全免费的软件,每一款都超级好用,的值得大家去试试。 搜书大师「Android、iPhone」 亮点:看小说神器。 搜书大师是看小说的神器,而且永久免费哦,看书的时候再也不会被那些烦人的弹窗广…

Scala 练习一 将Mysql表数据导入HBase

Scala 练习一 将Mysql表数据导入HBase 续第一篇:Java代码将Mysql表数据导入HBase表 源码仓库地址:https://gitee.com/leaf-domain/data-to-hbase 一、整体介绍 HBase特质 连接HBase, 创建HBase执行对象 初始化配置信息:多条(hbase.zookeeper.…

软件测试——Java单元测试(常用注解+断言)待续

1.软件及环境 软件:IDEA 环境:JDK1.8,Junit 4.13 2.环境配置 这里我们采用IDEA编辑器,利用Maven对项目进行构建,如下: 然后项目构建完之后,首先第一步是进入pom文件,添加Junit4.13依…

JavaSE——【逻辑控制】(知识)

目录 前言 一、顺序结构 二、分支结构 三、循环结构 总结 前言 公元 3050 年,地球的科技已经发展到令人难以想象的地步。这天,艾米莉在自己的房间里启动了最新的虚拟旅行装置,下一秒,她发现小奥奇的博客更新了。立即放弃了虚…

Linux部署调度工具xxl-job

背景: Pentaho Data Integration(kettle)作为用户规模最多的开源ETL工具,强大简洁的功能深受广大ETL从业者的欢迎。但kettle本身的调度监控功能却非常弱。Pentaho官方都建议采用crontab(Unix,linux平台)和计划任务(Win…

Warning:成交前,永远相信意外即将发生

作为一名首次次创业者,随着创业进入深层次阶段,越来越感觉到:创业是一条不归路,因为路上不止有惊喜,还有风尘。创业之前我认为世界是“天圆地方”的, 创业后你猜我怎么看这个世界的? 创业前我一…

输入a,b,c3个整数,按由大到小的顺序输出

解题思路: 用3个指针变量指向3个整型变量,然后用swap函数来实现互换3个整型变量的值。 编写程序: 运行结果: 程序分析: exchange函数的作用是使指针变量p1,p2,p3所指向的整型变量按由大到小的顺序交换它们的值…

ARM32开发——串口库封装(初级)

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 开发流程分组创建 接口定义完整代码 开发流程 在文件系统中,创建库目录Library在keil工程中,创建分组管理…

【Vue】组件通信

文章目录 一、组件之间如何通信二、组件关系分类三、通信解决方案四、父子通信流程五、父向子通信代码示例六、子向父通信代码示例 组件通信,就是指组件与组件之间的数据传递 组件的数据是独立的,无法直接访问其他组件的数据。想使用其他组件的数据&…

Java集合简略记录

一、集合体系结构 单列集合:Collection 双列集合:Map 二、单列集合 List系列集合:添加的元素是有序、可重复、有索引 有序指的是存和取的顺序是一致的,和之前排序的从小到大是没有任何关系的 Set系列集合:添加的元素是…

28 hive安装-本地模式

1.安装mysql(参考文章:centos7.8安装Mysql8.4-CSDN博客) 2.将mysql驱动拷贝到/opt/module/hive/lib目录下 (直接windows通过finalShell上传) 3./opt/module/hive/conf目录下新建hive-site.xml文件,进行配置…

c#与汇川plc通信 使用官网API库

前言 上位机开发中有时会要求与PLC进行通信,汇川官网也有好用的API库方便大家使用。记录一下开发过程。 1.下载资料 汇川官网地址:汇川技术 - 推进工业文明 共创美好生活 打开后选择:服务与支持-》资料下载-》 资料下载 这里可以直接搜索&am…

傅立叶变换矩阵的频谱响应

傅立叶变换矩阵的频谱响应 线性变换可以用矩阵表示,傅立叶变换是一种线性变换,因此也可以使用矩阵表示。具体可以参考:离散傅立叶变换和线性变换的关系:什么是线性空间? 1、傅立叶矩阵 X [ k ] ∑ n 0 N − 1 x [ …

实测有效:Win11一键恢复win10经典右键菜单,让Win11右键默认显示更多设置教程!

Win11一键还原win10右键菜单?win11右键菜单怎么改?怎样让Win11右键默认显示更多选项?今天,我要给你们介绍一款专为Windows 11系统设计的小巧工具,它能让你的右键菜单瞬间回到Win10时代,那种熟悉的感觉&…

Python02:python代码初体验

0、python代码初体验 print(hello,world)看到执行结果输出,则OKK! 1、输出结果取消换行 当print多个执行结果,又希望它们在同一行展示时: print(hello,world, end)print(Hao are, end ) print(you, end?) print(I am fine.) # end参数可…

鸿蒙Ability Kit(程序框架服务)【Ability与ServiceExtensionAbility通信】

Ability与ServiceExtensionAbility通信 介绍 本示例展示通过[IDL的方式]和 [ohos.rpc] 等接口实现了Ability与ServiceExtensionAbility之间的通信。 效果预览 使用说明 1.启动应用后,首页展示城市的天气信息,当前温度每隔5S会刷新一次。 工程目录 …