
C++
文章平均质量分 58
xiyangxiaoguo
这个作者很懒,什么都没留下…
展开
-
Qt 图形框架下图形拖动后位置跳动问题
图形框架需要通过QGraphicsItem::mouseReleaseEvent(event)来处理图形拖动后的位置信息,如果在重写后的mouseReleaseEvent方法后不去调用父类的方法,这些需要框架去处理的事情就会得不到正确处理。现象是将图形添加到画布上之后,用鼠标拖动图形,图形能正常改变位置,当再次用鼠标点击图形移动时,图形会自动跳动到初始化的位置,并且画布上其他的图形也会在拖动时自动跳动到意外的位置。使用的图形是自定义的QGraphicsObject的子类。而且其他图形的位置也会发生错误。原创 2024-12-12 21:33:18 · 489 阅读 · 0 评论 -
Qt C++ 自定义仪表盘控件03
仪表盘是工控领域不可缺少的一类软件UI元素,通常出现在各类电子看板软件上,以及一些高级的上位机软件界面上,目的是将繁杂的数据转化为可视化的图表能大幅提高后台管理效率。本文分享了几个经典常用的仪表盘控件,在项目中可以拿来即用。由于源码较为精简,初次做Qt开发的伙伴们,也可以拿来源码学习学习,做一些简单的修改即可实现更多自定义的效果。参考这几个仪表盘的源码和设计,基本上可以触类旁通,实现其他的仪表盘风格。原创 2023-02-21 09:02:58 · 3073 阅读 · 0 评论 -
Qt C++ 自定义仪表盘控件02
仪表盘是工控领域不可缺少的一类软件UI元素,通常出现在各类电子看板软件上,以及一些高级的上位机软件界面上,目的是将繁杂的数据转化为可视化的图表能大幅提高后台管理效率。本文分享了几个经典常用的仪表盘控件,在项目中可以拿来即用。由于源码较为精简,初次做Qt开发的伙伴们,也可以拿来源码学习学习,做一些简单的修改即可实现更多自定义的效果。参考这几个仪表盘的源码和设计,基本上可以触类旁通,实现其他的仪表盘风格。原创 2023-02-11 15:40:37 · 4880 阅读 · 2 评论 -
Qt 自定义仪表盘控件
仪表盘是工控领域不可缺少的一类软件UI元素,通常出现在各类电子看板软件上,以及一些高级的上位机软件界面上,目的是将繁杂的数据转化为可视化的图表能大幅提高后台管理效率。本文分享了几个经典常用的仪表盘控件,在项目中可以拿来即用。由于源码较为精简,初次做Qt开发的伙伴们,也可以拿来源码学习学习,做一些简单的修改即可实现更多自定义的效果。参考这几个仪表盘的源码和设计,基本上可以触类旁通,实现其他的仪表盘风格。原创 2023-02-08 21:48:47 · 3828 阅读 · 3 评论 -
Qt基于QGraphicsItem的自定义复杂图形绘制以及交互响应
简介本文介绍了 QGraphicsItem用于绘制自定义图形的使用方法,以及图形对于鼠标悬浮和点击选择时的响应实现。效果下图左右两个图形分别为鼠标未选中和选中时的效果,选中时,图形边框颜色加深,以及鼠标在三角形上悬浮时,它的颜色转换为绿色。图形可以拖动,可以响应鼠标的悬浮和单击事件。总结本文的方法可以用于Qt创建流程图程序等图形化的交互程序,实现自定义的图形绘制,与用户的交互等。 源码链接:https://pan.baidu.com/s/1_2l4HCb3RbZDgvAa3HLP_w?pwd=ptty 提原创 2022-12-04 17:31:01 · 1161 阅读 · 0 评论 -
Qt 之 自定义按钮 在鼠标 悬浮、按下、松开后的效果--三种实现方式
简介本文介绍了Qt中的按钮实现响应鼠标悬浮、按下、松开后的效果,在三种状态下,按钮改变不同的背景图片。方式1:通过设置setStyleSheet的方式去实现;方式2:通过继承QPushButton去实现一个自定义的按钮;方式3:在主界面中给按钮安装事件过滤器的方式去实现程序方式1:通过设置setStyleSheet的方式去实现; 方式2:通过继承QPushButton去实现一个自定义的按钮;继承QPushButton类后,重写了event()方法方式3:在主界面中给按钮安装事件过滤器的方式去实现原创 2022-12-03 20:43:58 · 7699 阅读 · 0 评论 -
Qt QGraphicsItem 带有子图标的图形示例
简介本文介绍了一个用Qt QGraphicsItem作为基类实现的带有子图标的图形项,子图标可以独立响应鼠标悬浮事件和鼠标点击事件,该方法可用于设计具有复杂UI响应的图标。程序目录HoverChangeButton.h/HoverChangeButton.cpp是该图形类main.cpp用于在 QGraphicsScene/ QGraphicsView中对该图标功能进行测试效果展示 以上图从左到右分别为鼠标未悬浮,鼠标悬浮,鼠标单击后的效果 总结通过继承QGraphicsItem并且重写部分鼠标响应函数,原创 2022-12-03 19:13:22 · 283 阅读 · 1 评论 -
迷宫生成程序
迷宫生成算法原创 2022-10-22 23:19:41 · 322 阅读 · 0 评论 -
linux网络编程-epoll多路复用
client.cpp -->clientserver.cpp -->server在server中使用epoll来进行多路复用client.cpp#include <stdlib.h>#include <stdio.h>#include <errno.h>#include <string.h>#include <string>#include <unistd.h>#include <net.原创 2021-12-04 02:28:17 · 921 阅读 · 0 评论 -
C++ 网络编程 TCP 用select实现的并发 异步
https://blog.youkuaiyun.com/xiyangxiaoguo/article/details/107179169上一篇采用的是建立新的线程的方法去处理一个新的客户端到服务器的TCP连接,对于少量的客户端连接到服务器这种方法不存在问题,这种方式带来一个问题就是,每一个链接都要开辟一个新的线程,数量少时还可以,当数量上亿时就不合适了,另外,这个很多时候这个链接也没有数据读取,那么这个线程一直运行也会浪费CPU,总之这种方式有局限性。采取的替代方法是用select实现异步非阻塞的网络连接S.原创 2020-07-08 17:56:15 · 3172 阅读 · 0 评论 -
C++ TCP网络编程 send 和recv分析【测试记录】
客户端程序:#include <winsock.h> #include<iostream>#pragma comment(lib,"ws2_32.lib") #include <Windows.h>#include<string>int main(){ //初始化Windows Socket Application WORD sockVersion = MAKEWORD(2, 2); WSADATA wsaData; //Win原创 2020-07-07 16:42:52 · 2357 阅读 · 0 评论 -
C++ TCP 客户端发送大量数据,服务器来不及接收【一次详细的测试记录及分析】
如果客户端发送数据的速度远远大于服务器接收数据的速度,那么-->客户端程序:#include <winsock.h> #include<iostream>#pragma comment(lib,"ws2_32.lib") #include <Windows.h>#include<string>int main(){ //初始化Windows Socket Application WORD sockVersion = MAK.原创 2020-07-07 14:42:51 · 5098 阅读 · 1 评论 -
C++ TCP网络编程--服务器端多线程处理会话连接
客户端程序:#include <winsock.h> #include<iostream>#pragma comment(lib,"ws2_32.lib") #include <Windows.h>#include<string>int main(){ //初始化Windows Socket Application WORD sockVersion = MAKEWORD(2, 2); WSADATA wsaData; //Wi.原创 2020-07-07 12:50:38 · 1798 阅读 · 0 评论 -
C++ TCP 网络编程与数据通信
服务器端:#include <winsock.h> #include<iostream>#pragma comment(lib,"ws2_32.lib") #include <Windows.h>#include <string>DWORD WINAPI ThreadTCP(LPVOID pParam);int main(){ //初始化Windows Socket Application WORD sockVersion...原创 2020-07-07 12:21:48 · 710 阅读 · 0 评论 -
windows下 opencv 图像 人脸检测 亲测可行
参考https://blog.youkuaiyun.com/li_wen01/article/details/78369751/*=============================================================================# FileName: facecheck.cpp# Desc: detect faces and eyes by opencv ,and then cut the face# .原创 2020-05-22 13:00:33 · 327 阅读 · 0 评论 -
联机五子棋小程序:C++ MFC创建游戏界面
利用C++,通过MFC搭建游戏界面,制作了一个可以在局域网内联机对战的五子棋小程序,在小程序中添加了电脑玩家角色,用以辅助对战(也可以将电脑玩家角色独立出来做成单机版)下面对程序作简要说明(1)由于是联机游戏,双人对战,所以网络部分采用了客户端/服务器的模式。采用的Socket基类为MFC中封装的 CAsyncSocket。(2)程序分为客户端和服务器。其中客户端部分包含三个部分:...原创 2020-03-29 09:59:14 · 3552 阅读 · 5 评论 -
C++ 获取链表中的元素的指针的方法
(1)虽然不是一个很好的主意,但有时候就是需要获得链表list中的某个元素的指针该怎么办?比如下面这个例子,想从一个map中反向索引存在map中的对象,一个对象自己知道自己存放在map中的位置,而map中保存了每个位置存放了一个什么对象,但是没有保存存放的是哪个对象。所以为了实现这种从map反向索引到对象的操作,可以把每个对象的地址存放到与map同序的指针数组里面。这样就可以直接从map的序号 ...原创 2020-03-14 11:39:08 · 2029 阅读 · 0 评论 -
你真的了解指针了吗?来道指针4级题目
还在被C/C++指针折腾到抓狂吗?很正常,我也是。int num=1;int* pnum=#仅知道pnum类型是整型指针,以及怎样获取一个变量的指针的你,还是个指针小白,连指针的门槛大概都还没有迈进,前行的路上等待你的可还有指针2级,指针4级,指针6级,专业指针8级……深知指针疼痛的博主,还在艰辛地奋斗在指针从入门到放弃的路上呢嗯,程序中的天使和魔鬼,说的大...原创 2019-10-13 22:32:35 · 164 阅读 · 0 评论 -
你真的理解指针了吗?来道指针6级题目!
思考一下下面的程序会输出什么,以及为什么#include "pch.h"#include <iostream>using namespace std;bool myproc(int** var){ std::cout << "传入时&var:" << &var << std::endl; std::co...原创 2019-10-12 14:26:44 · 171 阅读 · 0 评论 -
C++读写TIF格式
参考文章:(1)https://www.cnblogs.com/gywei/p/3393816.html(2)https://blog.youkuaiyun.com/han_jiang_xue/article/details/8266207图片是一个用matlab生成的.tif文件,写入了5*5 值为3的图像uint16类型的数据,通过二进制文件查看tif格式的存储方式写入图像原始数据为:3 ...原创 2019-08-28 10:20:48 · 4100 阅读 · 2 评论 -
OpenCV+MFC文档视图结构 构建简易PS图像处理软件
软件开启界面:包含菜单、快捷、新建图像子窗口文件 已实现功能 :新建、打开、关闭、保存、另存为打开 可以打开jpg, png,txt或者自己添加其他格式的图像(可使用opencv打开图像的功能,或者自己编写打开各种文件的方法)实现了滚动条浏览大图像图像处理 通过添加opencv处理图像的一些功能,比如掩模,转灰度,缩放图像,各种滤波等等,或者自己实现各种功...原创 2019-08-27 11:19:30 · 1555 阅读 · 1 评论