DeRoy
微信公众号【编程学习基地】
展开
-
Qt-MinGW编译libevent库
背景需要使用 Qt Creator 重写一个测试工具,要用到 libevent 这个网络库。领导要求用 MingW 编译库使用。因为Qt Creator 自带的 MinGW 编译器,所以需要使用 MinGW 编译器编译 libevent。下载libevent源码下载地址:https://libevent.org/Download–Stable releases ->libevent-2.0.22-stable.tar.gz下载MSYSMSYS,Minimal GNU(POSIX)sys原创 2021-09-03 18:05:57 · 929 阅读 · 0 评论 -
QT模拟QQ抽屉效果
QT模拟QQ抽屉效果效果展示Demo介绍Demo写了一个功能更强的QScrollArea的子类,QScrollAreaPow(里面自带幕布)继承预基类QWidget,可提升控件QScrollArea介绍QScrollArea属于控件容器类,在UI如图UI拖入一个QScrollArea,再向他里面拖入2个button可以看到,2个button并不是直接位于QScrollArea中的,而是位于它的成员scorllAreaWidgetContents中的,这个成员的类型也是控件类型QWidg原创 2021-07-29 13:55:32 · 1007 阅读 · 0 评论 -
基于Qt的Http服务器---tufao【项目工程】
基于Qt的Http服务器使用注:使用已经编译好的libtufao库进行http服务器的开发,实例仅为Demo项目效果Get请求POST请求项目代码链接:https://pan.baidu.com/s/1r4JtISEB9vHqueulI2FgVA提取码:0gxn原创 2021-07-23 18:25:38 · 1317 阅读 · 3 评论 -
Qt自定义截图----仿微信截图
来源:微信公众号「编程学习基地」文章目录获取桌面截图定义QScreen对象获取桌面截图重写事件paintEvent绘制截图mousePressEventmouseMoveEvent保存截图右键菜单剪切板QClipboard获取系统剪贴板设置系统剪贴板图片获取桌面截图定义QScreen对象QScreen *screen; //桌面截图QPixmap originalPixmap; //截图获取桌面截图 screen = QGuiApplication::primary..原创 2021-07-01 16:51:36 · 1039 阅读 · 0 评论 -
qt项目中添加 jsoncpp 库
qt使用jsoncpp库原创 2021-03-24 20:30:39 · 1127 阅读 · 0 评论 -
qt链接第三方库
qmake链接第三方库配置文件QT += core gui networkgreaterThan(QT_MAJOR_VERSION, 4): QT += widgets networkCONFIG += c++11# The following define makes your compiler emit warnings if you use# any Qt feature that has been marked deprecated (the exact warning原创 2021-03-24 18:40:33 · 819 阅读 · 0 评论 -
easylogging++完全使用指南
文章目录前言功能特征版本说明配置使用快速使用自定义日志Qt使用 Easylogging++ DemoLinux使用Easylogging++Demo前言Easylogging++ 使用教程很多,但是那些文件配置都是一个复制另一个人的,原版不可考,Easylogging++文件配置只能自己配置,成功后留下Easylogging++文件配置写法,望周知。Easylogging++最大的特点就是它只有一个头文件,并且无需任何外部依赖。Easylogging++使用起来非常简单,同时还支持文件配置,提供了原创 2021-03-17 17:50:58 · 2996 阅读 · 0 评论 -
Qt使用spdlog日志
文章目录创建日志创建一个支持多线程的日志输出打印到Concole日志等级设置日志等级输出格式设置输出格式关闭日志创建日志创建一个支持多线程的日志size_t max_size = 1024 * 10;std::string basename = "testLog.log";std::shared_ptr<spdlog::logger> file_logger; //日志的文件指针file_logger = spdlog::rotating_logger_mt("2232", bas原创 2020-09-20 00:52:47 · 2743 阅读 · 1 评论 -
Qt使用动态库
文章目录QT使用库准备库目录在pro文件中添加库测试代码:在上一节中讲到C++库的封装,那么封装好了的库如何调用呢?不同的编译器封装的库只能被该编译器调用,也就是MSVC编译出来的库只能被MSVC编译器调用,MinGW调用不了,同时还要区分32位和64位接下来以MSVC编译出来的库为例子:QT使用库准备库目录首先将Debug和Release编译出来的库区分放入到一个文件夹下面,文件结构如下├─bin│ dllDemo.dll│ dllDemod.dll│├─i原创 2020-09-19 23:19:36 · 493 阅读 · 0 评论 -
Qt创建动态库
文章目录通过qt创建动态库创建库新建一个C++Library库项目选择共享库或静态库选择需要的模块编写需要封装的库区分debug和release注意事项通过qt创建动态库创建库新建一个C++Library库项目选择共享库或静态库选择需要的模块不建议选择QtGui和QtWidgets,会和其他游戏绘制产生冲突编写需要封装的库dllDemo.h代码#ifndef DLLDEMO_H#define DLLDEMO_H#include "dlldemo_global.h"#inclu原创 2020-09-19 23:10:55 · 398 阅读 · 0 评论 -
QNetworkAccessManager发送https请求
添加SSL支持,发送HTTPS请求环境:win10 Qt5.12.1下载安装openssl库下载Openssl库http://slproweb.com/products/Win32OpenSSL.html,我下载的是Win64 OpenSSL v1.0.2u Light使用默认安装即可,安装过程中选择将库安装到OpenSSL的安装目录(/bin)下面将libeay32.dll 和 ssleay32.dll 文件拷贝到Qt中的存放有Qt5Network.dll和Qt5Networkd.dll的原创 2020-09-05 12:38:24 · 1208 阅读 · 0 评论 -
Qt多线程编程实战:MD5单项加密
来源:微信公众号「编程学习基地」文章目录QCryptographicHash加密方式两种处理数据的方式少量数据的加密大量数据的加密Md5单项加密对象设计signals:public slots:md5check.hmd5check.cpp线程处理IO操作将对象移至线程关联信号与槽开启md5单项加密任务通过Qt QCryptographicHash::Md5 对磁盘上的文件进行单项加密效果展示:对2.86 GB (3,076,476,328 字节)的文件在线程中进行单项加密,不卡主界面,加密进..原创 2020-08-30 18:00:03 · 305 阅读 · 0 评论 -
Qt解析王者荣耀英雄JSON文件
JSON简介JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,使用了类C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。JSON语法JSON语法是JavaScript对象表示法语法的子集,语法规则如下: A、数据在名称/值对中原创 2020-08-29 12:25:02 · 1526 阅读 · 0 评论 -
Qt多线程编程之线程的同步和互斥
来源:微信公众号「编程学习基地」文章目录线程同步基础互斥量QMutex互斥锁QMutexLocker条件变量QWaitCondition读写锁QReadWriteLockQReadLocker和QWriteLocker信号量QSemaphore线程同步基础临界资源:每次只允许一个线程进行访问的资源线程间互斥:多个线程在同一时刻都需要访问临界资源线程锁能够保证临界资源的安全性,通常,每个临界资源需要一个线程锁进行保护。线程死锁:线程间相互等待临界资源而造成彼此无法继续执行。产生死锁的条..原创 2020-08-13 17:13:32 · 480 阅读 · 0 评论 -
Qt多线程开发之线程池处理QTcpSocket
文章目录Qt多线程开发之线程池处理QTcpSocket重写QTcpServer类MyServer处理QTcpSocket数据类MyClient任务处理对象MyTaskQt多线程开发之线程池处理QTcpSocketQTcpServer等待接收新连接(incomingConnection),当有新连接时接收连接并关联数据处理(readyRead)程序演示:开启服务器之后,客户端去连接服务器,服务器将连接到的客户端绑定数据处理函数,当客户端有数据传输过来的时候,创建任务对象MyTask,将任务放进线程池原创 2020-08-11 23:19:16 · 3322 阅读 · 6 评论 -
Qt多进程编程之进程间通信
来源:微信公众号「编程学习基地」文章目录进程间通信TCP/IPQShared Memory(共享内存)QSharedMemory数据写入共享内存读取共享内存数据实例源码获取D-BusQCOPQProcessSession Management进程间通信TCP/IPQShared Memory(共享内存)D-BusQCOP(Qt COmmunications Protocol )QProcessSession ManagementTCP/IP其实就是通过网络模块实现的IPC。不过..原创 2020-08-15 00:13:59 · 1593 阅读 · 1 评论 -
Qt多线程编程之线程池应用
QRunnable类QRunnable类在Qt中是所有可运行对象的基类,代表了由run()函数表示的一个任务或一段要执行的代码。我们一般使用该类和QThreadPool来在另一个独立的线程中执行该代码。并且,如果QRunnable对象的autoDelete()设为true的话,QThreadPool会在run()运行结束后自动删除该对象。重写run函数protected: void run();QRunable与线程池例子程序演示:创建线程池里面取出两个线程去进行业务逻辑处理创原创 2020-08-11 23:17:11 · 1405 阅读 · 3 评论 -
QT多线程开发:QThread的两种使用方式
文章目录多线程开发QThread介绍QObject::moveToThread()MyThread.hMyThread.cppmainwindow.hmainwindow.cpp继承QThread类mythread.h文件:mythread.cppmain.c源码获取多线程开发什么时候用到多线程,以界面为例:所有的IO操作都要放到线程里面IO操作 QIODevice 文件IO 网络IO(套接字 eg:CAN linux下也是套接字) 串口等外设 ;因为不确定什么时候能读写完成耗时的算法 eg原创 2020-08-11 20:57:01 · 785 阅读 · 0 评论 -
QT网络编程开发服务端
文章目录基于Qt的网络编程服务端QTcpServer配置listen() close()newConnection()SINGLreadyRead()isReadablereadAlldisconnected()TcpServer项目训练widget.hwidget.cpp来源:微信公众号「编程学习基地」基于Qt的网络编程服务端QTcpServer提供一个TCP基础服务类 继承自QObject,这个类用来接收到来的TCP连接,可以指定TCP端口或者用QTcpServer自己挑选一个端口,可以.原创 2020-08-11 23:34:17 · 3086 阅读 · 4 评论 -
QT网络编程开发客户端
上一篇: QT网络编程开发服务端.文章目录基于Qt网络编程客户端QTcpSocket配置PublicconnectToHost()waitForConnectedSIGNALdisconnected()readyRead()TcpClient项目训练widget.hwidget.cpp来源:微信公众号「编程学习基地」.基于Qt网络编程客户端效果演示QTcpSocketQTcpSocket 类提供一个TCP套接字TCP是一个面向连接,可靠的的通信协议,非常适合于连续不断的数据传.原创 2020-08-11 23:40:40 · 1099 阅读 · 0 评论 -
QTableWidget使用以及ini配置文件案例
文章目录程序示例:QTableWidget常用接口:动态添加控件QTableWidgetItemQComboBoxQSpinBox程序示例:QTableWidget常用接口:设置表头 QStringList sListHeader; sListHeader.append("1"); sListHeader.append("2"); sListHeader.append("3"); sListHeader.append("4"); ui->tab原创 2020-07-27 16:21:06 · 577 阅读 · 0 评论 -
Qt系统托盘+开机自启+ini配置文件读写案例
系统托盘 QSystemTrayIcon *trayIcon; QMenu *trayIconMenu; QAction *minimizeAction; QAction *maximizeAction;一定要给系统托盘设置ico/* * * 系统托盘 * */ minimizeAction = new QAction(tr("最小化"), this); minimizeAction->setIcon(QIcon("原创 2020-07-27 18:43:34 · 632 阅读 · 0 评论 -
Qt文件操作
来源:微信公众号「编程学习基地」文章目录QDir路径获取常用目录创建文件夹文件夹遍历过滤器使用文件操作写入文件文件读取文件操作模式文件流操作文件写入文件读取文件指针文件操作主要用到3个类:QFile、QFileInfo、QDirQDir路径#include <QCoreApplication>#include <QDir>#include <QDebug>int main(int argc, char *argv[]){ QCoreA..原创 2021-01-07 09:30:36 · 865 阅读 · 0 评论 -
Qt国际化
第一个Qt程序新建项目[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5WY5JpMw-1606797920228)(新建完项目之后可以左下角的绿色三角标志运行程序基于qt语言家的语言切换Assistant(Qt语言家),类似于MSDN最权威的速应用程序翻译和国际化的工具。Qt 使用单一的源码树和单一的应用程序二进制包就可同时支持多个语言和书写系统,有助于软件走向国际化,普度众生。具体步骤:生成.ts文件,lupdate翻译成制定语言,生成.qm文原创 2020-12-01 12:54:07 · 251 阅读 · 0 评论 -
Qt环境搭建
Qt的发展与优势什么是QtQt是一个跨平台应用程序和UI开发框架。使用Qt只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。Qt Software 的前身为创始于1994年的Trolltech(奇趣科技),Trolltech于2008年6月被 Nokia 收购,加速了其跨平台开发战略,2011年3月Qt被芬兰的Digia公司收购。哪些软件是用Qt开发的Qt CreatorGoogle地球(Google Earth):三维虚拟地图软件WPS Offi原创 2020-06-30 00:39:08 · 725 阅读 · 0 评论 -
ubantu16.04搭建Qt环境
目录ubantu16.04搭建Qt环境下载opensource安装qmake安装g++以及依赖库配置环境编译原码安装make查看qmake是否安装配置环境变量qmake编译c/c++代码Linux编译Qt代码ubantu16.04搭建Qt环境下载opensource下载 qt-everywhere-opensource-src-4.8.7.tar.gz:http://download.qt-project.org/archive/qt/4.8/4.8.7/安装qmake安装g++以及依赖库su原创 2020-07-02 20:02:12 · 366 阅读 · 0 评论 -
Qt高级编程完整源码
项目目录Qt网络编程服务端客户端Qt网络编程服务端客户端...源码获取.链接:https://pan.baidu.com/s/1poIs7t3QJ-A3Ui1rZAId-g提取码:1mdv原创 2020-08-16 22:39:35 · 2052 阅读 · 2 评论