随笔分类 -  4.3 QT学习之路

摘要:1.界面介绍 界面支持: 透明 白色 黑色 渐变 单色 静态图 动态图 侧边栏支持:抽屉、带折叠、多模式场景 控件已集成: 暗黑风格 高亮风格、并附带个人自定义控件及开源demo 白色场景如下所示: 单色暗黑风格如下所示: 用户自定义皮肤如下所示: 皮肤预览如下所示: b站入口: https://w 阅读全文
posted @ 2023-03-16 14:26 诺谦 阅读(559) 评论(0) 推荐(0) 编辑
摘要:1.QSharedMemory介绍 QSharedMemory提供了多个线程和进程对共享内存段的访问。它还提供了一种方法,让单个线程或进程锁定内存以进行独占访问。 当使用这个类时,请注意以下平台差异: Windows: QSharedMemory不“拥有”共享内存段。当有QSharedMemory实 阅读全文
posted @ 2021-08-09 21:42 诺谦 阅读(2935) 评论(0) 推荐(1) 编辑
摘要:1.线程并发一个程序内部能拥有多个线程并行执行。一个线程的执行可以被认为是一个CPU在执行该程序。当一个程序运行在多线程下,就好像有多个CPU在同时执行该程序。总之,多线程即可以这么理解:多线程是处理高并发的一种编程方法,即并发需要用多线程实现。 2.如何分配线程数量利用 CPU 核心数,应用并发编 阅读全文
posted @ 2021-07-06 13:51 诺谦 阅读(2152) 评论(0) 推荐(0) 编辑
摘要:这里我们只是简单学习下通过udp组播如何共享桌面demo.帧率上面比较低,毕竟没有用推流,只是简单的将图片发送到组播地址,而加入组播地址的客户端去取数据显示而已. 主要是为了学习UDP知识而写的,真的想要做共享桌面的话,建议还是使用qt FFmpeg推流.速度上会快很多(后续有时间再来出) 1.De 阅读全文
posted @ 2021-06-24 13:33 诺谦 阅读(1644) 评论(0) 推荐(0) 编辑
摘要:本章主要描述QT中如何实现单播、广播、组播,大家可以直接参考qt官方例子: Broadcast Sender : 广播方式发送 Broadcast Receiver : 广播方式接收 Multicast Sender : 组播方式发送 Multicast Receive : 组播方式接收 需要用到的 阅读全文
posted @ 2021-06-24 13:10 诺谦 阅读(1982) 评论(0) 推荐(1) 编辑
摘要:在上章我们学习了62.QT-QScroller实现home界面滑动效果,但是该界面是实现的上下滑动效果,如果想模拟手机home滑动界面,则需要实现左右滑动效果. 本章,则重写QStackedWidget类,来真正的模拟手机,来实现home界面左右滑动效果. 1.SmoothStackedWidget 阅读全文
posted @ 2021-01-10 22:46 诺谦 阅读(2730) 评论(11) 推荐(2) 编辑
摘要:由于QScroller至少qt5.0以上,如果版本过低,建议去看58.tablewidget模拟手指实现滑动章节,来自定义实现滑动器. 在学习本章之前需要知道滑动的关键词: 鼠标按下,鼠标滑动 : 指的是用户按下屏幕,然后进行移动的操作,此时用户滑动多少距离,那么视图就偏移多少距离. 平滑滑动 : 阅读全文
posted @ 2020-12-19 22:20 诺谦 阅读(4515) 评论(0) 推荐(1) 编辑
摘要:在之前60.QT-QabstractTableModel模型、重写sort方法排序章节中,学习了如何用model,本章再来学习QSortFilterProxyModel代理 1. QsortFilterProxyModel介绍 QsortFilterProxyModel类用来为model和view之 阅读全文
posted @ 2020-12-16 19:16 诺谦 阅读(4630) 评论(0) 推荐(0) 编辑
摘要:在之前25.QT-模型视图章节中,没有具体描述如何重写model模型,所以本章以QabstractTableModel为例,来谈谈model如何实现. 1.QabstractTableModel常用功能 QAbstractTableModel子类化时,必须覆写: Int rowCount(); // 阅读全文
posted @ 2020-12-16 16:49 诺谦 阅读(4375) 评论(8) 推荐(2) 编辑
摘要:1.QRegExp qt5.0版本之前正则表示示类是QRegExp,通过它能够筛选出我们想要的数据,它的构造函数如下所示: QRegExp::QRegExp(const QString &pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive, QRe 阅读全文
posted @ 2020-12-15 21:23 诺谦 阅读(4680) 评论(1) 推荐(1) 编辑
摘要:1.介绍 嵌入式由于需要支持手指滑动,所以先写个demo,来试验. 每次按下的时候,获取一次按下的pos以及按下的时间,然后释放的时候获取一次释放pos,从而计算出,每秒移动的像素点,其中计算代码如下所示: int ms= QDateTime::currentDateTime().toMSecsSi 阅读全文
posted @ 2020-12-09 23:22 诺谦 阅读(1913) 评论(0) 推荐(1) 编辑
摘要:在定义信号槽的时候,传递的参数类型如果是自定义类型(自定义class类,或者enum类等), 并且涉及跨线程时,最好先通过qRegisterMetaType()将自定义类型进行注册,否则会报错: QObject::connect: Cannot queue arguments of type 'XX 阅读全文
posted @ 2020-11-27 18:32 诺谦 阅读(4971) 评论(1) 推荐(1) 编辑
摘要:1.描述 最近要实现一个滚动条字幕,但是搜到的系列文章都是利用定时器QTimer,在固定的时间截取文本并显示,这样滚动的时候其实是断断续续的,因为实际上是一个个字符位移实现的,不过实现方便. 所以只有自己实现无间隙滚动条字幕. 2.界面展示 示例如下图所示: 效果图如下所示(支持自适应主界面大小,根 阅读全文
posted @ 2020-10-24 01:04 诺谦 阅读(2500) 评论(0) 推荐(3) 编辑
摘要:1.生成dll 然后选择创建静态链接库: 创建的时候,记得勾选QtGui,并且修改pro文件,添加下面1句(这样就可以创建界面了): 修改staticlib.cpp: #include "staticlib.h" #include <QMessageBox> StaticLib::StaticLib 阅读全文
posted @ 2020-05-12 18:56 诺谦 阅读(2122) 评论(0) 推荐(0) 编辑
摘要:1.生成dll 然后选择创建共享库: 创建好后,修改pro文件,改为下面两句(这样就可以创建界面了): 然后修改sharedlib.h: #ifndef SHAREDLIB_H #define SHAREDLIB_H #include <QtCore/qglobal.h> #if defined(S 阅读全文
posted @ 2020-04-23 12:03 诺谦 阅读(4296) 评论(8) 推荐(1) 编辑
摘要:之前打印PDF都是通过html形式来实现的,但是这次要做的东西,需要打印界面控件,所以需要使用QPdfWriter. 通过QPdfWriter来获取QPainter对象,就能实现在PDF上来画画啦. 代码生成的PDF如下所示: 代码效果如下所示: 代码如下所示: //通过dialog来保存PDF路径 阅读全文
posted @ 2020-04-02 16:20 诺谦 阅读(5351) 评论(3) 推荐(5) 编辑
摘要:Qt 5.7过后Qt添加了官方的Chart库,之前就用的比较习惯,这次把源码发出来,给入门的同学们参考参考. 效果如下所示: 1.chartsView.h如下所示: #ifndef VIEW_H #define VIEW_H #include <QtWidgets/QGraphicsView> #i 阅读全文
posted @ 2020-01-04 20:58 诺谦 阅读(7908) 评论(0) 推荐(0) 编辑
摘要:接口地址如下所示: 需要传递的参数如下: 本章通过C++界面去获取qml方法来实现调用ashx接口(以一个C++界面demo程序为例) 或者参考 https://www.cnblogs.com/tingtaishou/p/11993214.html 1.抓post数据 通过网页获取到的post数据如 阅读全文
posted @ 2019-12-23 21:25 诺谦 阅读(1530) 评论(0) 推荐(3) 编辑
摘要:QJsonDocument: 提供一种读取和写入JSON文档的方法,可以通过它的的成员函数array()或object()检索文档中包含的数组或对象,然后读取JSON数据,或者修改数据。 QJsonObject: 封装了一个JSON对象, 可以使用它的成员函数size()、insert()和remo 阅读全文
posted @ 2019-11-25 20:55 诺谦 阅读(14402) 评论(2) 推荐(2) 编辑