- 博客(34)
- 资源 (3)
- 收藏
- 关注
原创 用Qt/C++玩转观察者模式:一个会聊天的设计模式
本文介绍了如何利用Qt/C++的观察者模式实现高效的对象间通信。观察者模式通过订阅/通知机制实现松耦合,Qt的信号槽机制让这种实现更加优雅。文章通过咖啡店订阅和温度监测系统的实例,对比了传统实现与Qt方式的区别,并展示了UI更新、配置热更新等实际应用场景。还分享了带参数信号、连接类型选择等高级技巧,以及避免信号风暴、管理生命周期等注意事项。观察者模式适用于多种场景,如股票通知、游戏成就系统等,是对象间"社交"的理想解决方案。
2025-05-27 15:48:35
616
原创 电化学储能 vs 氢能储能:新能源电力系统的双子星技术解析
在构建新型电力系统的征程中,电化学储能与氢能储能如同车之双轮,只有深度协同创新,方能驱动能源革命行稳致远。
2025-02-26 10:06:29
710
原创 新型电力系统光储充一体系统组成及应用
双碳”(碳达峰、碳中和)目标的提出,推动我国新能源建设驶入快车道,同时,新型电力系统规划确立了以新能源为主体的发展方向[。光伏并网在两个维度实现,即大规模集中并网和分布式多点并网,前者容量大,后者覆盖面广、接入形式更为灵活。分布式光伏接入分为并网型和离网型,并网型与公共电网相连,离网型控制逻辑更为复杂,配置一定容量的储能单元、负载,源-网-荷-储-控架构也称为微网(或微电网),微网建设呈现集成化、智能化发展趋势。随着电动汽车的迅速发展,充电桩大规模建设和大功率的快充造成电网的容量不足和对电网的巨大冲击。
2025-01-15 10:46:46
1224
原创 储能变流器介绍及选型
参考组串式储能技术路线及华为智能组串式工商业储能柜产品分析从技术路线来看,分为集中式变流器、组串式变流器、集散式变流器和微型变流器。集中式PCS:能源转化的核心引擎特点:作为储能系统的“心脏”,它通过总线连接所有电池簇,统一进行电能转换,适合大规模储能项目。优点:维护简便,成本较低。缺点:对电池一致性要求高,单点故障影响大。组串式PCS:精细管理,守护电池健康特点:为每个电池簇或电池单元提供专属保护,独立转换电能,适用于各类规模储能项目。
2024-12-07 13:31:07
2236
原创 光伏储能系统原理
随着太阳电池温度的增加,开路电压减少,在20℃-100℃范围内,大约每升高1摄氏度,每片电池的电压减少2mV,而电流随温度的增加略有上升。对电压影响很小,在温度固定不变的条件下,光强在400Wm2-1000Wm2范围内变化,开路电压基本恒定。它的输出电流随着电压升高一开始是一条水平线,到达一定功率时,随着电压升高而降低,当到达组件开路电压时,电流下降到零。●光伏电池在实际运行中既非恒压源,也非恒流源,而是一种非线性直流电源,输出电流在大部分工作电压范围内相当稳定,当电池达到最大输出后,电流迅速下降。
2024-11-25 20:30:37
2063
原创 能量管理系统(EMS)储能充放电策略
配储策略(两充两放):配置可提供负载使用3小时的电池容量,可在当日24时至次日8时区间对系统进行充电,在8时至11时放电3小时,11时至14时充电,17时至20时放电3小时。11:00~17:00为平段根据第二个峰的需求SOC的剩余进行充电,然后待机,等待第二个峰进行放电。24:00~08:00谷段此时段电价最为便宜,可为储能进行充电策略;11:00~17:00为平段可根据SOC的剩余进行待机,放电或充电;下图表示储能一天控制策略调控下SOC的变化。08:00~11:00此时段为第一个峰储能应尽可能放电;
2024-11-23 11:51:53
1613
原创 基于Qt/C++的体质监测系统,体重秤,体脂秤,身体质量指数系统,Qt语音播报
可以通过该项目练习的c++、qt的知识,提高自己的项目实战经验。同时需要其他管理系统的,如超市购物系统,图书管理系统、实验设备管理系统、超市管理系统、学生管理系统、教师管理系统、 药品管理系统、学生成绩管理系统、通讯录管理系统、企业管理系统、停车管理系统、仓储(仓库)管理系统、 人事管理系统、会员卡管理系统、酒店管理系统、保险管理系统的可以私聊博主哦。具有语音播报提示根据用户输入基础身高,体重,年龄,性别,腹围等基础参数,计算出身体体质信息。并语音播报,给出身体质量建议。导出报表。
2024-01-19 17:16:57
576
2
原创 Error: dependent ‘FORCE’ does not exist
Qtcreator构建时出现Error: dependent ‘FORCE’ does not exist.解决办法。注意不可以直接重新构建。
2024-01-15 15:19:51
396
原创 QT/VS环境添加自定义库dll或exe属性详细信息
QT/VS环境添加自定义库dll或exe属性详细信息QT环境添加详细信息VS环境添加详细信息一般来说自定义生成的动态库dll或exe在WIndows属性下是看不到下图所示一些版本信息的QT环境添加详细信息1.新建.txt更改后缀为.rc2.通过编辑器打开复制如下内容,并根据自身文件进行修改#include <windows.h>VS_VERSION_INFO VERSIONINFO FILEVERSION 4,4,2,0 PRODUCTVERSION 4,4,2,0 FI
2021-07-27 13:31:31
1079
原创 QTableWidget/QTableView悬浮hover选中一行
通过代理实现头文件#ifndef DELEGATE_H#define DELEGATE_H#include <QObject>#include <QItemDelegate>#include <QStyledItemDelegate>#include <QAbstractItemView>#include <QPainter>class Delegate : public QItemDelegate{ Q_OBJE
2021-07-01 18:00:52
3823
1
原创 qt 单例模式实际应用 单例模式自定义对话框类
C++设计模式之单例模式讲到单例模式的基本语法,本文给一个qt开发中单例模式常用的例子——消息对话框1.为了美化用户操作界面,我们需要自定义对话框但是又想像系统QMessageBox一样的用法,直接替换2.由于消息对话框需要到处调用,且只需出现一个窗口既只需一个对象。所以使用单例模式较为合适。头文件#ifndef MSGBOXDLG_H#define MSGBOXDLG_H#include <QDialog>#include <QPoint>enum Icon
2021-06-28 11:09:27
853
原创 C++设计模式之单例模式
C++设计模式之单例模式懒汉单例模式Singleton.h/*说明:*1.保证一个类仅可以有一个实例化对象,并且提供一个可以访问它的全局接口*2.为了避免在其他函数 实例化 需要将构造函数私有化*3.由于无法实例化需要通过类名静态调用。使用关键词static修饰创建对象接口getInstance;*懒汉式单例模式*/#pragma onceclass Singleton{public: static Singleton* getInstance();//静态方法属于类,所以只能调
2021-05-02 14:54:43
287
原创 Qt Creator结合git进行代码管理
Qt Creator结合git进行代码管理新建仓库这里以码云为例,进入https://gitee.com/官网,注册账号或者登陆新建仓库新建文件夹(工程文件夹),将所要上传管理的程序放到该文件夹下在上述文件夹下右键打开Git Bash Here(提前安装git 下载地址:https://git-scm.com/downloads)本地建仓库,以此执行以下命令0 、由于git是分布式管理工具,需要输入用户名和邮箱以作为标识git config --global
2021-02-03 15:48:56
12392
原创 C++读配置文件类
C++读配置文件类config.h#ifndef RR_CONFIG_H_#define RR_CONFIG_H_#include <string>#include <map>class RrConfig{public: RrConfig() { } ~RrConfig() { } bool ReadConfig(const std::string & filename);
2021-02-01 13:44:01
422
原创 解决QProcess运行外部程序阻塞界面
以下例子QEventLoop可以防止QProcess运行外部程序使得界面阻塞QProcess process;process.start(QString(cmd));//执行外部程序QEventLoop loop; connect(&process,static_cast<void(QProcess::*)(int,QProcess::ExitStatus)>(&QProcess::finished), [=]() { .
2020-10-03 13:09:16
3373
2
原创 qt写日志
*本文内容借鉴大佬 一去二三里#include "mainwindow.h"#include <QApplication>#include <QDateTime>#include <QMutex>#include <QFile>#include <QTextStream>#include <QDebug>//#define LOG_FILE qApp->applicationDirPath()+"/lo
2020-09-18 17:59:15
339
1
原创 QTreeView的代理(委托) 绘制界面
样式.h文件#ifndef TREEVIEWDELEGATE_H#define TREEVIEWDELEGATE_H#include <QObject>#include <QStyledItemDelegate>#include<QPainter>class TreeViewDelegate : public QStyledItemDelegate{ Q_OBJECTpublic: explicit TreeViewDelegate
2020-07-09 17:29:21
3550
4
原创 设置QTabWidget的样式表
样式如图所示QTabBar::tab:first{ font: 12pt "微软雅黑"; border: 1px solid ; border-top-left-radius:8px; border-top-right-radius:8px; border-color: #ecf1f2; width: 100px; height: 35px; margin-left:2px; color: rgb(102, 102, 102); background-color: rgb(2
2020-06-29 00:01:31
1745
原创 qt 自定义标题栏状态栏
首先在ui界面布好局,添加一个关闭图形的ToolButton和label构造函数 // 隐藏标题栏 setWindowFlags(Qt::FramelessWindowHint);头文件 void mousePressEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); //头移动属性
2020-06-28 23:52:39
847
原创 简易音视频播放器,及异常捕获
效果功能进度条更新及拖动定位视频播放暂停音量增减快进,快退环境win10qt5.9.5vs2015实现ui设计.h文件#pragma once#include <QMediaPlayer> //媒体播放#include <QVideoWidget> //媒体显示#include <QTime>#include <QVBoxLayout>#include "ui_MediaPlayer.h"clas
2020-05-31 13:11:14
525
原创 VS2015配置qt5.9.5及注意事项
记入职第一天VS2015配置qt5.9.5心得及注意事项配置参数下载连接VS安装注意事项QT安装注意事项配置环境变量VS2015添加调试器(add到相应的安装路径)解决能够编译运行,VS却画红色波浪线的问题配置参数windows10VS2015qt5.9.5下载连接迅雷下载:链接:VS2015.官网下载:链接: qt-opensource-windows-x86-5.9.5.exe.推荐安装IDM下载VS安装注意事项选择安装位置,选择自定义安装减少组件的安装.因为是基于c++的qt
2020-05-13 22:51:20
1000
原创 基于QT/C++的商场线上购物系统、超市管理系统、购物系统
作为自己的练习项目,项目内容可能并不符合业务逻辑,但是涉及到的QT知识运用比较全面。作为自己或新手阶段性练手的项目。
2020-04-09 17:38:56
6085
27
原创 解决ftp协议上传下载Permission denied
如果config配置没问题,passive被动模式没问题.那么可能就是文件读写权限的问题,和服务器文件夹和客户端文件夹读写权限的问题解决:如果上传受限,把客户端上传的文件夹改为可写 ,如果下载受限就将客户端文件夹改为可读写chmod 0777 dir/...
2019-10-14 19:30:34
3192
原创 解决linux(Ubuntu)crontab任务调度不执行及总结crontab基本使用方法.
解决crontab任务调度不执行可能的情况:crontab的服务没开文件无可执行权限crontab写入格式错误,执行路径错误等本文只叙述情况1的解决方案.jill@DESKTOP-EIC0724:~$ sudo service cron start[sudo] password for jill: * Starting periodic command scheduler cr...
2019-10-13 16:12:02
1723
原创 解决warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
今天做线程的例程出现warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]的警告编译结果:问题解决0 在网站https://stackoverflow.com/questions/9251102/warning-cast-to-pointer-from-integer-of-differe...
2019-10-08 20:14:10
53970
7
原创 基于linux c++的使用socket实现客户端和服务的消息回复和发送的通信demo
本例程进行了sock通信C++的类的封装,简化了sock通信主函数的代码量,其中类的封装亦可用于其他项目的移植.所需要的头文件(不是所有都需要,此头文件是我经常用到的头文件)/* * author:jill * name:_head.h * date:2019-10-02 * function:all the head file you can use */#ifndef _HEA...
2019-10-02 21:55:02
1076
原创 vi底行模式下的查找删除替换取消设置自动注释
查找:/目标项 n查找下一个N查找上一个,x删除当前查找项替换当前行::g/目标项/新项替换全局::%s/目标项/新项
2019-09-19 13:41:32
177
原创 解决gcc: error trying to exec 'cc1plus': execvp: No such file or directory
gcc/g++编译器用的好好的突然出现gcc: error trying to exec 'cc1plus': execvp: No such file or directory错误.解决方法如果编译器的版本莫得问题,看看你的.c/.cpp文件是否以大写命名 ,如果是请改成小写....
2019-09-15 22:20:56
2048
原创 C语言生成不重复的随机数并实现洗牌发牌
我们经常用到的rand函数产生的随机数通常遇到两个问题运行两次产生随机数相同产生的随机数中有重复那如何产生多次产生的随机数不同又不重复呢,当然有人也可能说随机数就是随机的嘛重复很正常,当然这里标题限定了不重复的随机数 ????rand函数产生的随机数本身重复率是比较低的,但是当我们用取余产生的一定范围的随机数会大大增加重复的概率.源程序/** author :jill * data...
2019-09-12 09:43:23
4891
1
原创 解决Ubuntu gcc编译线程创建函数pthread_create()出现 undefined reference to `pthread_create'的错误
undefined reference to `pthread_create'欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图...
2019-09-07 22:25:14
2905
Client.rar
2020-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人