QT生活记录
小米的修行之路
是日已过,命亦随减;如少水鱼,斯有何乐?当勤精进,如救头燃!但念无常,慎勿放逸。
展开
-
QT C++开发指南实例 简易的音乐播放器
一、主要使用到的类:1、QMediaPlayer:(1)播放状态发生变化时(停止、暂停、播放),发出信号:stateChanged;(2)播放位置发生变化时(反映播放速度),发出信号:positionChanged;(3)播放文件总时长发生变化(一般是切换了播放文件),发出信号:durationChanged;2、QMediaPlaylist操纵播放列表文件:(1)播放文件列表中的文件发生切换时,发出信号:currentIndexChanged;二、程序界面:源码下载:.原创 2021-12-24 16:04:02 · 434 阅读 · 0 评论 -
QT C++开发指南实例 QUdpSocket 广播
广播特点:数据的发送是面向整个子网的,任何一台在子网内的计算机都可以接收到相同的数据;用途:1.定位本地子网内的主机前提是已知该主机位于本地子网,但是不知到他的单播地址。例如通过广播向所有子网内的主机的某端口发送数据报,如果主机有进程在该端口等待接收数据并回射数据,那么在recvfrom中会得到该主机的单播地址2.减少分组流通例如,多个客户主机与一个服务器主机通信的局域网中,广播的方式会尽量减少分组流通。广播地址:广播地址是专门用于同时向网络中所有工作站进行发送的一个地址。在使用TCP/I原创 2021-12-23 14:39:40 · 562 阅读 · 0 评论 -
QT C++开发指南实例 QWaitCondition使用
1、定义了一个循环使用的缓冲区;2、创建了3个线程,一个生产者线程,2个消费者线程;3、当有空间可写时,生产者写入数据,随机唤醒一个消费者线程(随机),被唤醒的消费者判断循环缓冲区中有可读取数据,读取显示;链接:https://pan.baidu.com/s/1isgMkVpFoX70HgW-dq6Pvg提取码:zhzc...原创 2021-12-14 11:21:01 · 576 阅读 · 0 评论 -
QT C++开发指南实例 QSemaphore使用
1、定义了一个循环使用的缓冲区;2、定义了两个信号量,一个负责维护空余缓冲区个数,当有空余时就像循环缓冲区中生产数据;一个负责维护可用缓冲区个数,当有可用数据时就消费循环缓冲区的数据;3、两个线程,一个生产者线程,一个消费者线程;4、当空余缓冲区和可用缓冲区都有数据时,两个线程可以同时操作缓冲区的不同部分;实例下载:链接:https://pan.baidu.com/s/1OKw6qw3iWZnoamIbilppYw提取码:zhzc...原创 2021-12-13 22:33:13 · 953 阅读 · 0 评论 -
QT C++开发指南实例 QSqlRelationalTableModel使用
1、QSqlRelationalTableModel主要处理具有外键相关关系的几个表数据的显示。主要函数与QSqlTableModel相同,主要区别在于使用setRelation建立外键关系,如下:m_relaModel->setRelation(3, QSqlRelation("departments", "departID", "department"));第一个参数3代表m_relModel所关联表的第3个字段;第二个参数departments表示与之关联的另一个表的名称;.原创 2021-12-08 14:30:38 · 629 阅读 · 0 评论 -
QT C++开发指南实例 QSqlQueryModel的使用
1、QSqlQueryModel 和 QSqlTableModel的区别:QSqlQueryModel模型是只读的,我们利用这个模型显示到TableView上面的数据是不可以编辑的,比如:双击视图是没有反应的。QSqlTableModel是可读可写的,我们利用这个模型显示到TableView上面的数据是可以编辑的,在不子类化的情况下,我们就可以双击对数据进行编辑更改操作。当然我们如果想让QSqlQueryModel模型可以编辑的话,就必须对其子类化,重新实现一些函数,比如:flags/setdata,dat原创 2021-12-07 22:43:19 · 463 阅读 · 0 评论 -
QT C++开发指南实例 QSqlTableModel使用
包含内容:1.基于QSqlTableModel和QItemSelectionModel 数据库操作的模型视图框架的使用;2.自定义代理为tableView设置输入控件;3.使用QDataWidgetMapper建立model和小控件之间的映射的实现;4.sqllite的数据库实例下载:链接:https://pan.baidu.com/s/1Dm4-fCnB9Yn4HRAyxtZf9Q提取码:zhzc...原创 2021-12-03 14:28:12 · 1301 阅读 · 0 评论 -
QT C++开发指南实例 三维柱状图
1、QT中显示3维图表,需要使用Data Visualization模块,其也是基于QT的图形视图架构,所以三维图形也是由图表、序列、坐标轴组成:Q3DBars/Q3DScatter/Q3DSurface 相当于 二维图形中的QChartQBar3DSeries/QSurface3DSeries 相当于 二维图形中的序列QValue3DAxis/QCategory3DAxis 相当于 二维图形中的坐标轴但是三维图表多出一个数据代理类,用来管理数据,是序列和数据...原创 2021-12-01 16:14:41 · 2539 阅读 · 0 评论 -
QT 单独安装datavisualization模块
今天使用到了 datavisualization 模块,发现当时安装QT的时候没有安装此模块,百度了一下可以自行单独安装此模块:1、下载相应模块,下载对应自己QT版本的相应模块,比如我的qt安装的是QT5.12.11,就要下载5.12.11下面的模块:qtdatavis3d-everywhere-src-5.12.11.zip,下载地址入下:https://download.qt.io/archive/qt/5.12/2、下载完解压,我直接解压到桌面:3、编译,以minGW...原创 2021-11-30 16:32:17 · 3803 阅读 · 11 评论 -
QT C++开发指南实例-各种图表的绘制
实例下载地址:https://pan.baidu.com/s/1djfiJw-5580KzFCj1ezE8Q提取码:zhzc原创 2021-11-29 14:35:27 · 515 阅读 · 4 评论 -
QT C++开发指南实例QChar图表框架
1、Qt把一个图表分成了多个组件,每种组件都对应相应的类:(1)序列:是图表的类型,也就是图表上画的是什么类型的图。如直线图QLineSeries,饼状图QPieSeries,柱状图QBarSeries。(2)图例:QLegend,对图表上显示序列的一些说明。(3)坐标轴:这个最容易理解,但是坐标轴也分很多类型,比如折线序列中的数值坐标轴QValueAxis。2、QChar:相当于一个容器,将上面提到的图表中的几个组件包含其中,也就是组合起来。3、QCharView:是一个视图组件,用来原创 2021-10-31 20:27:50 · 582 阅读 · 0 评论 -
QT C++开发指南实例QGraphicsView绘图框架
1、使用QGraphicsView绘图框架我们可以绘制可交互的图形,如:选择、编辑、拖放、修改一个图元。2、绘图架构主要类:(1)、图元类:包括一些基本的图形元素,如:矩形、椭圆、梯形、文本等;(2)、场景类:是一个存放图元的容器,我们可以将各种图元添加到场景中;(3)、视图类:用于显示场景中的内容,当视图的大小小于场景的大小时,视图会出现滚动条,同时一个场景可以对应多个不同的视图。3、视图、场景、图元各自的坐标系统说明,某个点在视图、场景、图元中的坐标可以相互转换:(1)视图,远点原创 2021-10-09 08:40:44 · 2461 阅读 · 7 评论 -
QT C++开发指南实例-模型、视图、代理使用
一、实例包含知识点:1、基于QTableView 的模型、视图、代理的实现及添加行,删除行、设置单元格字体等;2、将单元格数据保存成TXT文档并读取;3、将单元格数据保存成二进值数据并读取方法1;4、将单元格数据保存成二进值数据并读取方法2;5、工具栏和状态栏的使用二、界面展示:三、实例代码下载地址:https://download.csdn.net/download/u012372584/24957790...原创 2021-09-26 20:58:48 · 3962 阅读 · 4 评论 -
QT-数据库连接池
在前面的章节里,我们使用了下面的函数创建和取得数据库连接: 12345678910111213141516 void createConnectionByName(const QString &connectionName) { QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", connectionName); db.setHostName("127.0.0.转载 2021-08-13 13:46:16 · 2129 阅读 · 0 评论 -
QT实例-数据库分页查询
1、分页思想借鉴网友:https://blog.csdn.net/panchang199266/article/details/1050244122、使用sqllite数据库进行测试:创建一个测试用表student并插入100万条数据,使用事务进行插入,插入时间大概是1.6s: { QSqlDatabase db; db = QSqlDatabase::addDatabase("QSQLITE", "main");原创 2021-08-05 22:55:22 · 1832 阅读 · 3 评论 -
QT信号有重载情况的连接方法
例如:QComboBox的activated信号有两个重载函数:void activated(const QString &text)void activated(int index)1.可以使用使用QOverload: connect(comboBox, QOverload<int>::of(&QComboBox::activated), [=](int index){ ... }); connect(comboBox, QOverload&l原创 2021-02-19 10:30:57 · 524 阅读 · 0 评论 -
QLabel样式的设置
字体样式font-family: "Microsoft YaHei";font-size: 14px;font-style: italic;font-weight: bold;color: #BDC8E2;font: bold italic 18px "Microsoft YaHei";font-family为设置字体类型,标准形式需要加双引号,不加也可能会生效,具体看系统是否支持,中英文都支持,但要保证字体编码支持,一般程序编码为"utf-8"时没问题。font-size为设..转载 2020-12-13 22:55:27 · 9777 阅读 · 1 评论 -
通用窗口移动类
1、原作者:飞扬青云 ,简单修改了一下移动逻辑只是简单的封装了一下,可以实现任意widget的移动,包括主框体中的子窗体,或是无边框窗体的移动等等。2、#ifndef MOVEWIDGET_H#define MOVEWIDGET_H/** * 通用控件移动类 作者:feiyangqingyun(QQ:517216493) 2019-9-28 * 1:可以指定需要移动的widget * 2:可设置是否限定鼠标左键拖动 * 3:支持任意widget控件 */#include .原创 2020-12-12 22:57:38 · 289 阅读 · 0 评论