
Qt 学习笔记
文章平均质量分 72
记录自己学习qt,方便时常温习,lover and share~
ZLOZL
Love and Share
希望大家能把自己的所学和他人一起分享,不要去鄙视别人索取时的贪婪,因为最应该被鄙视的是不肯分享时的吝啬。
展开
-
Ubuntu 18.04 下Qt5开发环境搭建(安装,配置,美化,卸载)
Ubuntu 18.04 下Qt5开发环境搭建(安装,配置,美化,卸载)我本人用的Ubuntu是18.04的,安装的Qt是5.14.1下载你要安装的Qt版本官网下载地址:http://download.qt.io/archive/qt/或者百度网盘下载地址:链接:https://pan.baidu.com/s/1MazRtGOkj8FNdR_x-sclQA提取码:ypb1修改运行软件权限chmod 755 qt-opensource-linux-x64-5.14.1.run开始安装软件原创 2020-09-20 13:12:12 · 4716 阅读 · 0 评论 -
Qt事件系统
Qt事件系统在 Qt 里,一个事件就是一个对象,所有事件的祖先都来自于 QEvent 只要有一个事件发生(如鼠标单击事件),此时就会有一个 QEvent 对象被创建出来,然后开始各种传送。由于 Qt 事件系统是依托于元对象系统的,所以所有的 QObject 类都可以接收/处理 QEvent 事件。Event的来源:Some events, such as QMouseEvent and QKeyEvent, come from the window system;一些事件,如QMouseEvent转载 2021-10-24 10:36:12 · 903 阅读 · 0 评论 -
Qt的编程风格与规范
Qt的编程风格与规范之前整理过一篇cpp的代码风格,只要参考谷歌Style,现在整理一下Qter代码风格C++命名规范(v1.0)_ZLOZL的博客-优快云博客参考资料https://wiki.qt.io/Qt_Contribution_Guidelineshttps://wiki.qt.io/Qt_Coding_Stylehttps://wiki.qt.io/Coding_Conventionshttps://community.kde.org/Policies/Libra原创 2021-09-25 19:11:41 · 720 阅读 · 0 评论 -
基于QMainWindow 实现的效果很好的 Qt 无边框窗口
Qt实现自定义窗口 基于 QMainWindow 实现的效果很好的 Qt 无边框窗口,支持 Windows 和 OS X 系统。在 Windows 上,支持窗口阴影、Aero 效果等;在 OS X 上,支持原生窗口样式,比如窗口圆角、窗口阴影、三个系统按钮(关闭、最小化、最大化)等。window效果OSX[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fmi8s2C4-1629970950506)(https://gitee.com/zlozl5566/drawi翻译 2021-08-26 17:45:29 · 5800 阅读 · 10 评论 -
Qt 实现Https ssl认证
Qt 实现Https ssl认证安装OpenSSL/index.html (openssl.org)先了解一下认证原理HTTPS单向认证客户端向服务端发送SSL协议版本号、加密算法种类、随机数等信息;服务端给客户端返回SSL协议版本号、加密算法种类、随机数等信息,同时也返回服务器端的证书,即公钥证书;客户端使用服务端返回的信息验证服务器的合法性,包括:证书是否过期;发行服务器证书的CA是否可靠;(通过查询浏览器或本机内的CA证书)返回的公钥是否能正确解开返回证书中的数字签名;(通过使用原创 2021-07-31 14:30:18 · 3841 阅读 · 1 评论 -
Qt常用轮子合集(带使用Demo)
公用轮子/API主要存放全局变量,配置变量,一些公用方法代码 还有自定义日志,以及重定向输出Qt编译器信息到本地文件。日志库建以使用mvlog库就ok,跨平台通用库,简单的单例模式,同时可以重定向输出Qt编译器信息(文件名称,函数名称,代码行数等一些信息)。日志有 Debug、Warning、Critiacal、Fatal、Info等。/* 如何需要定向输出编译器日志,下面段代码放到mian函数中去 * @brief 定向输出编译器调试信息 * 请在main函数中加入下面判断条件是否定向输原创 2021-06-08 16:01:11 · 1080 阅读 · 2 评论 -
C++/Qt 使用OpenCV打开摄像头,旋转视频,计算fps
C++/Qt 使用OpenCV打开摄像头,旋转视频,计算fps设置摄像头参数 不要随意修改,同时也不一样会修改成功,需要根据实际摄像头的参数选择设置 /*设置摄像头参数 不要随意修改 capture.set(CV_CAP_PROP_FRAME_WIDTH, 1080);//宽度 capture.set(CV_CAP_PROP_FRAME_HEIGHT, 960);//高度 capture.set(CV_CAP_PROP_FPS, 30);//帧数 capture.s原创 2021-06-06 14:22:24 · 2060 阅读 · 1 评论 -
QSoundEffect独立声音播放线程 movetothread方式
QSoundEffect独立声音播放线程 movetothread方式 话不多说,先上代码:audiothread.h#ifndef DLTHREAD_H#define DLTHREAD_H/********************************************************************** *@projectName MVRecoTL *@brief QSoundEffect独立声音播放线程 movetothread方式原创 2021-06-06 13:43:22 · 1123 阅读 · 2 评论 -
C++全局异常捕获和分析.dmp文件
C++全局异常捕获和分析.dmp文件 在c++的程序运行过程中,有时需要分析异常产生的原因,所以首先需要捕获异常,生成crash文件(.dmp)之后,再用相关的调试工具去分析。如何捕获异常,生成文件保存到本地?先上代码:#ifndef CRASH_EXCEPTION_H#define CRASH_EXCEPTION_H/********************************************************************** *@projectName原创 2021-06-05 23:51:00 · 1754 阅读 · 3 评论 -
开发经验总结
一、开发经验总结当编译发现大量错误的时候,从第一个看起,一个一个的解决,不要急着去看下一个错误,往往后面的错误都是由于前面的错误引起的,第一个解决后很可能都解决了。定时器是个好东西,学会好使用它,有时候用QTimer::singleShot可以解决意想不到的问题。打开creator,在构建套件的环境中增加MAKEFLAGS=-j8,可以不用每次设置多线程编译。珍爱时间和生命。新版的QtCreator已经默认就是j8。如果你想顺利用QtCreator部署安卓程序,首先你要在Androi转载 2021-03-13 23:40:02 · 529 阅读 · 0 评论 -
Qt 一些常用Public方法
Qt 一些常用Public方法目前只要收集整理了,如下一些方法,后续日常工作和学习中遇到新的也会更新补上,所以麻烦点个关注⭐️ * 1.存放一些常用且公用的方法,定义成静态的方便使用 * 2.获取桌面宽,高,屏幕数量,当前屏序号 * 3.获取当前程序文件名称,所在路径 * 4.获取随机因子,以及生成32和36位的UUID * 5.设置开启自启,系统时间,程序字符编码 * 6.判断和获取本机IP和Mac地址 * 7.一些进制,以及数据类型的之间的转化 * 8.一些关于文件的操作,读,写,删等原创 2020-11-08 10:45:09 · 1805 阅读 · 0 评论 -
Qt 文件管理 文件夹以及子文件夹遍历,读写文件,获取所有文件的文件信息
遍历某个路径下所有文件夹,以及子文件夹 /* * @brief * 遍历某个路径下所有文件夹,以及子文件夹,找到目标文件,写入到filedata中 * * @param * imode 0: 只会遍历子当前件夹 (默认) 1:会遍历所有的子文件夹 * @return bool */bool findPathLoadFile(const QString &path, const QString &name, QByteArray *filedata,原创 2020-10-24 14:53:16 · 2561 阅读 · 0 评论 -
Qt WebSocket通讯封装(带测试用例)
Qt WebSocket通讯封装(带测试用例)WebSocketClientclass WebSocketClientManager : public QObject{ Q_OBJECTpublic: explicit WebSocketClientManager(QObject *parent = nullptr); ~WebSocketClientManager(); public: bool running() const; QString ur原创 2020-10-24 13:29:46 · 1013 阅读 · 0 评论 -
Qt TCP/UDP通讯封装
Qt TCP/UDP通讯封装TCP客户端class TcpClient :public QTcpSocket{ Q_OBJECTpublic: explicit TcpClient(QObject *parent = nullptr); ~TcpClient(); static TcpClient *Instance();private: static QScopedPointer<TcpClient> self; QTcpSocket原创 2020-10-24 10:28:36 · 1819 阅读 · 3 评论 -
C++设计模式——单例模式(Qt单例写日志模块)
C++设计模式——单例模式(Qt单例写日志模块)作用:保证一个类只有一个实例,并提供一个访问它的全局访问点,使得系统中只有唯一的一个对象实例。应用:常用于管理资源,如日志、线程池实现要点:在类中,要构造一个实例,就必须调用类的构造函数,并且为了保证全局只有一个实例,需防止在外部调用类的构造函数而构造实例,需要将构造函数的访问权限标记为private,同时阻止拷贝创建对象时赋值时拷贝对象,因此也将它们声明并权限标记为private;另外,需要提供一个全局访问点,就需要在类中定义一个static函原创 2020-09-20 17:08:33 · 706 阅读 · 0 评论 -
Qt 多线程操作数据库--数据库连接池
Qt 数据库连接池参考博客https://qtdebug.com/qtbook-db-connection-pool/ * 数据库连接池特点: * 获取连接时不需要了解连接的名字,连接池内部维护连接的名字 * 支持多线程,保证获取到的连接一定是没有被其他线程正在使用 * 按需创建连接,可以创建多个连接,可以控制连接的数量 * 连接被复用,不是每次都重新创建一个新的连接(连接的创建是一个很消耗资源的过程) * 连接断开了后会自动重连 * 当无可用连接原创 2020-09-07 20:55:04 · 1733 阅读 · 0 评论