
C++
进击的大海贼
今日不学习,明日变辣鸡
展开
-
C++基于开源Modbus Tcp 通讯应用客户端(稳定高效,多线程后台状态读取,不卡顿)
使用多线程后台批量刷寄存器的状态,在某种程度上保证了上层接口读取的时候,不会卡顿,整体应用效果比较友好。程序应用简单稳定高效,是一个比较不错的尝试。原创 2022-11-17 21:58:17 · 5720 阅读 · 1 评论 -
MYSQL安装过程
数据库的安装步骤,适合小白。原创 2022-07-15 23:40:53 · 2396 阅读 · 1 评论 -
QT-C++ 注册机软件,生成机器码和注册码,支持授权时间
1、编译环境:本程序使用的编译环境是QT5.12.0和VS2017,如果你安装环境不用,你可以通过阅读里面的程序代码,进行代码有效的提取,然后你再自己创建工程进行编译使用。2、基本描述:通过获取计算机的硬件信息,然后通过加密组成,生成每个计算机的唯一机器码,类似的方式,按照内部定义的规则,生成相应的组册码。获取本地计算机的一些基本信息,这样来构成每个机器码的唯一性。2.应用层调用外部应用层进行逻辑功能的操作程序链接https://download.youkuaiyun.com/download/u0130原创 2022-07-13 22:39:16 · 14651 阅读 · 22 评论 -
QT-三色灯状态灯IO状态
三色灯演示效果,状态IO灯效果演示使用原创 2022-06-01 23:41:12 · 1886 阅读 · 0 评论 -
QT-动态切换界面风格,动态加载不同的样式
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档QT-动态切换界面风格,动态加载不同的样式一、演示效果二、关键程序1.样式加载2.部分qss三、程序地址一、演示效果二、关键程序1.样式加载代码如下:void QStyleLoad::setStyle(QString strStyle){ QFile qss(strStyle); qss.open(QFile::ReadOnly); qApp->setStyleSheet(qss.readAll()); qss.原创 2022-05-28 23:18:51 · 1790 阅读 · 0 评论 -
QT-简单又好看的炫黑风格
QT-简单又好看的炫黑风格一、演示效果二、关键代码三、程序链接一、演示效果二、关键代码代码如下:#include "DarkStyle.h"DarkStyle::DarkStyle() : DarkStyle(styleBase()) {}DarkStyle::DarkStyle(QStyle *style) : QProxyStyle(style) {}QStyle *DarkStyle::styleBase(QStyle *style) const { static QSt原创 2022-05-27 23:03:21 · 1760 阅读 · 0 评论 -
QT-700多种实用好看的图标,直接拿来用
QT-700多种实用好看的图标,直接拿来用一、效果演示二、关键程序三、程序链接一、效果演示二、关键程序代码如下:#include "QtAwesome.h"#include "QtAwesomeAnim.h"#include <QDebug>#include <QFile>#include <QFontDatabase>class QtAwesomeCharIconPainter: public QtAwesomeIconPainter{原创 2022-05-27 21:16:53 · 2786 阅读 · 0 评论 -
QT-C++Modbuse TCP后台线程批量读写操作
QT-C++Modbuse TCP读写操作前言一、效果演示二、关键代码三、程序链接前言Modbuse TCP读写操作、支持批量读写,线圈和D寄存器读写,后台线程自动批量缓存,上层接口读取不阻塞一、效果演示二、关键代码// 写寄存器值(单个) bool cModbusObject::writeRegister(int nAddr, uint16_t nValue) { bool bRet = false; if (!d_ptr->bConnected || nAddr <原创 2022-05-17 22:58:16 · 2612 阅读 · 3 评论 -
QT-VS如何在Release配置下也可以进行代码断点调试
QT-VS如何在Release配置下也可以进行代码断点调试前言说明一、配置说明二、总结前言说明VS默认创建的工程都是在Debug的环境下的,对应新手来说,这个的好处就是可以直接断点调试。但是呢,有的时候你要发布版本了,那么你就需要用Release版本去发布(虽然你用Debug也可以,但是过程就很痛苦),不过很多情况下,就是明明用Debug环境下是能编译过去的,但是换到了Release版本编译就出现一大堆莫名其妙的错误,十分的无语。所以换个思路去考虑,我们不如一开始就用Release的环境去编译就行了,原创 2022-05-03 00:11:27 · 2003 阅读 · 0 评论 -
QT-可视化图表功能
QT-好用而且实用的图表说明一、效果演示二、关键程序代码链接说明需要注意的是,工程都是在Release编译的,因为只配置Release的,如果你用Debug编译是编译不过去的。提示:以下是本篇文章正文内容,下面案例可供参考一、效果演示二、关键程序代码如下:void _Bar_Chart::initial(){ QFont font("微软雅黑",15); font.setBold(true); d_ptr->pSeries->setVisible(true);原创 2022-05-02 23:54:18 · 1085 阅读 · 0 评论 -
QT-横向滚动显示字体
QT/C++横向字幕动态显示工具原创 2022-02-10 21:53:46 · 1715 阅读 · 0 评论 -
QT-数字软键盘
QT-数字软键盘原创 2022-02-27 15:00:16 · 2719 阅读 · 0 评论 -
QT-QDebug重定向工具,支持qDebug()本地日志保存
前言QDebug重定向工具,支持qDebug()本地txt日志保存一、演示效果二、关键代码1、定时器打印debug日志信息代码如下:void QDebugOut::slotTimeout(){ static int i = 0; if (++i > 30000) i = 0; QString str = QString("this is num %1").arg(i); qDebug() << str << "\n"; ui.plainTextEd原创 2022-04-03 17:17:01 · 590 阅读 · 0 评论 -
QT/C++标签文档报表工具
QT/C++报表工具应用,简单的骚操作呀原创 2022-04-13 00:07:48 · 1449 阅读 · 0 评论 -
QT-Dump工具,软件奔溃自动生成本地调试信息
QT-Dump工具,软件奔溃自动生成本地调试信息一、演示效果二、关键代码1.Release Vs配置2.测试代码代码如下(示例): InitDumpTool(); QMessageBox::information(this, u8"提示", u8"触发一个崩溃", QMessageBox::Yes); // 这里触发一个崩溃 QLabel *pLabel = nullptr; pLabel->setText(u8"指针是不能为空的!");该处使用的url网络请求的数据原创 2022-04-03 18:05:33 · 634 阅读 · 0 评论 -
QT-C++CNC文件预览工具,支持3d路径显示和NC行显示
QT-C++CNC文件预览工具,支持3d路径显示和NC行显示一、预览效果二、关键代码三、代码链接一、预览效果二、关键代码代码如下:// This file is a part of "Candle" application.// Copyright 2015-2016 Hayrullin Denis Ravilevich#include "glwidget.h"#include "drawers/tooldrawer.h"#include <QDebug>#include原创 2021-12-11 11:20:11 · 1705 阅读 · 0 评论 -
QT-QRibbon样式框架的使用,支持窗口控件拖拉和停靠效果
QT-QRibbon样式框架的使用,支持窗口控件拖拉和停靠效果一、演示预览二、关键代码三、代码链接一、演示预览二、关键代码代码如下: _->_mainWindow = window; // 设置透明度渐变动画 if (!_->opacityAnimation.targetObject()) { _->opacityAnimation.setTargetObject(_->_mainWindow); _->o原创 2021-11-30 23:52:12 · 2467 阅读 · 0 评论 -
QT-局域网电脑远程桌面
QT-创建局域网网页远程服务器工具一、演示效果二、使用说明三、关键程序代码链接一、演示效果二、使用说明使用QT工具,将编译好exe版本直接在局域网内的电脑运行,那么这个时候被安装的电脑一旦运行程序,那它自身的远程服务器就自动创建。在局域网内的其他电脑只要在自带的网页输入,http://访问的ip:8080,那么就可以正常访问对方的电脑。三、关键程序代码如下:bool ServerHttp::start(){ bool result = false; if(!m_tcpSe原创 2021-11-28 22:54:23 · 3236 阅读 · 1 评论 -
QT-C++ Nesting排料优化,广告,服装,木工排料(支持矩形、异形排版,提高优化效率)
Nesting排料优化(支持异形排版,提高优化效率)一、工具效果二、关键代码三、代码链接一、工具效果支持多段线工件排版优化。二、关键代码代码如下: const double & stripWid = LB_NestConfig::STRIP_WIDTH; const double & stripHei = LB_NestConfig::STRIP_HEIGHT; const double & itemGap = LB_NestConfig::IT原创 2021-11-25 23:42:42 · 2032 阅读 · 0 评论 -
QT-C++多线程TCP服务端(同时处理多个客户端,自动收发处理,粘包处理)
QT-C++多线程TCP服务端前言1.预览效果2.核心程序3.程序下载前言使用多线程不阻塞的方式,内置自动消息接收和发送的机制,完成对多个客户端连接的消息处理,保证数据处理及时和高量并发的效果1.预览效果2.核心程序代码如下:// 发送线程DWORD WINAPI cSocketServer::sendCmdDataThread(LPVOID lpParam){ cSocketServer *pMain = (cSocketServer*)lpParam; int nStep = 0;原创 2021-09-03 20:24:35 · 2920 阅读 · 0 评论 -
QT-C++多线程TCP客户端(心跳包、自动消息接收发送处理,粘包处理)
QT-C++多线程TCP客户端前言1.效果预览1.核心程序2.程序下载前言将接收消息和发送消息分别用不同线程处理,支持服务器掉线客户端重新连接机制,内置自动消息发送和接收处理方式,内置心跳包发送。提示:以下是本篇文章正文内容,下面案例可供参考1.效果预览1.核心程序代码如下:// 发送线程DWORD WINAPI cSocketClient::sendCmdDataThread(LPVOID lpParam){ cSocketClient *pMain = (cSocketClie原创 2021-09-03 20:19:51 · 4591 阅读 · 0 评论 -
QT-C++二维码生成工具(支持中文等任何字符的使用)
QT-C++二维码生成工具前言1.效果预览1.核心程序全部程序前言QT/C++生成二维码程序,支持二维码图片本地保存功能。1.效果预览1.核心程序如下: // 生成二维码图片 QString strCode = ui.lineEditCode->text(); const wchar_t * chEncodedName = reinterpret_cast<const wchar_t *>(strCode.utf16()); HANDLE hQR = QR_Crea原创 2021-08-30 18:34:20 · 1020 阅读 · 4 评论 -
QT-通过控件ObjectName获取控制
QT-通过控件ObjectName获取控制示例1.说明解释示例1.说明解释代码如下: QString strObjectName = QString("lineEditDev5IP"); QLineEdit*pLineEdit = this->findChild<QLineEdit*>(strObjectName); if (pLineEdit != nullptr) pLineEdit ->setText("reset objectName");说原创 2021-08-28 10:42:01 · 5167 阅读 · 0 评论 -
QT-旋转地球
旋转地球演示效果一、实例代码如下程序连接下载演示效果一、实例代码如下代码如下(示例):#include "QtRotateMap.h"#include <QLabel>#include <QTimer>#include <QPixmap>struct sRotateMapData{ QTimer *pTimer = nullptr; QPixmap pixWorld; QPixmap pixGrid; QLabel *pLabelWorl原创 2021-07-29 13:29:19 · 775 阅读 · 0 评论 -
C++线程返回值
C++线程返回值应用环境1、传统的方式获取线程返回值2、使用C++ Promise和future方式3、promise和future介绍应用环境通常主线程某些任务需要通过子线程完成数据处理之后才能继续执行;传统的方式就是主线程标志位给到子线程去,然后主线程这边采用循环等待的方式去等标志是否已经完成标示。另外一种方式就是使用c++11 promis 和future来完成1、传统的方式获取线程返回值代码如下:#include <iostream> #include &l原创 2021-07-29 11:56:12 · 3004 阅读 · 2 评论