c++
qq_39851127
这个作者很懒,什么都没留下…
展开
-
QTableWidget表格左上角添加自定义全选功能
Qt没有提供修改左上角自定义全选功能的接口,但是可以通过children()接口查询到cornerWidget,重新添加自定义窗口部件。//左上角全选功能设置//设置点击左上角,修改所有单元格内容status =!status;});//.hQ_OBJECTpublic:signals:protected://.cpp文件。原创 2024-05-10 09:37:36 · 428 阅读 · 0 评论 -
Can调试工具源码
CANTool通用测试软件是一个专门用来socket can接口进行测试的软件工具,此软件操作简单,容易上手,通过运用此软件可以非常方便的对linux系统的can接口进行测试,从而熟悉can接口的使用方法,并且此为源码,还带有过滤自定义,开启和关闭功能,此源码可以直接运行进行调试。链接:https://pan.baidu.com/s/1HzjWr-UEcEX-nOYmnCTfZg?原创 2024-02-04 15:50:14 · 252 阅读 · 0 评论 -
Qt触摸放大、缩小、拖拽图像
实现原理:接收widget的事件,paintEvent重绘地图,坐标比例什么的也是根据缩放和偏移量转换计算得出…简单粗暴,直接上代码吧!原创 2023-01-30 10:06:07 · 1933 阅读 · 1 评论 -
Qt实现文件拷贝递归实现
打开一个目录, 将一个目录下的所有文件和子目录下的所有文件循环递归拷贝到目标目录,如U盘目录(在U盘创建目录)。原创 2022-12-26 16:56:30 · 737 阅读 · 0 评论 -
QLineSeries折线图绘制
折线图用于将信息显示为由直线连接的一系列数据点。QLineSeries类以折线图的形式显示数据。原创 2022-11-17 15:37:23 · 625 阅读 · 0 评论 -
OpenCV截取ROI区域——多种形状(圆形)
当我们定位到一个象棋的位置之后,我首先将包裹象棋的一个50*50的矩形取阈截取出来,但是,发现如果只是做矩形的截取的话,截取的图像仍然会包含一部分的棋盘,导致训练时的干扰,因此就考虑再做圆形的截取。这里涉及到截取一个不是矩形的区域,不管是截取一个圆形、椭圆,或者是截取一个不规则多边形,其方法都是使用contour(轮廓)来指定ROI。可以看到,在截取一个矩形的时候,比较简单,可以直接定义一个Opencv中的Rect对象,输入需要截取的矩形区域的坐标即可.如果要截取一个椭圆呢?原创 2022-11-03 17:25:26 · 4522 阅读 · 0 评论 -
关于Qt5中QListWidgetItem不显示的问题
【代码】关于Qt5中QListWidgetItem不显示的问题。原创 2022-09-06 18:04:49 · 2129 阅读 · 1 评论 -
隐藏Qt小部件并保留小部件空间
我以一个简单的形式制作了几个按钮并放置了水平布局。当鼠标离开该区域时,应该隐藏其中一个按钮,最后一个按钮。使用button-> hide()它可以工作,但所有按钮都由布局管理器重新排列。我想要的是所有其他按钮继续在他们的位置。我尝试用小部件占位符替换小部件并交换按钮和占位符hide()/ show(),调用占位符 - >调整大小(button-> size()),但布局管理器不尊重调整大小和占位符的最小大小。删除小部件并保留其空间的最佳方法是什么?...原创 2022-08-28 14:32:44 · 858 阅读 · 0 评论 -
qt折叠框实现方式
我们想要实现一个折叠框,通过点击按钮隐藏其他widget或者控件,参考他人的,但是遇到了很多问题,然后记录下来。sizePolicy策略设置。原创 2022-08-23 17:23:13 · 1117 阅读 · 0 评论 -
TCP实现断开重连
代码】TCP实现断开重连。原创 2022-07-26 17:27:18 · 2321 阅读 · 0 评论 -
使用二维特征点(Features2D)和单映射(Homography)寻找已知物体
C:\Windows\System32目录需要添加需要添加引用三个库:opencv_xfeatures2d341d.libopencv_world341d.libopencv_calib3d341d.lib运行结果:原创 2022-06-14 14:13:30 · 223 阅读 · 0 评论 -
opencv多对象匹配-模板匹配算法c++实现
opencv多对象模板匹配算法c++实现原创 2022-06-07 10:03:55 · 856 阅读 · 0 评论 -
解决arm-none-eabi-gcc交叉编译问题
标题解决arm-none-eabi-gcc交叉编译问题在项目中使用arm-none-eabi-gcc交叉编译链编译程序时报错:./…/…/arm-none-eabi/lib/libc.a(lib_a-isattyr.o): in function _isatty_r’: isattyr.c:(.text._isatty_r+0x18): undefined reference to _isatty’collect2: error: ld returned 1 exit status标题解决方法:资原创 2022-03-17 14:06:37 · 2781 阅读 · 1 评论 -
Qt5.9.4与opencv3.4.3环境搭建与测试
openCV+QT5.9.0安装介绍转载 2022-03-04 09:39:00 · 455 阅读 · 0 评论 -
Qt 串口类QSerialPort 使用笔记
虽然现在大多数的家用PC机上已经不提供RS232接口了。但是由于RS232串口操作简单、通讯可靠,在工业领域中仍然有大量的应用。Qt以前的版本中,没有提供官方的对RS232串口的支持,编写串口程序很不方便。现在好了,在 Qt5.1 中提供了QtSerialPort模块,方便编程人员快速的开发应用串口的应用程序。 本文就简单的讲讲QtSerialPort模块的使用。当前的QtSerialPort模块中提供了两个C++类,分别是QSerialPort 和QSerialPortInfo。QSerialPort原创 2022-02-28 17:06:07 · 455 阅读 · 0 评论 -
线程池内核对象触发调用函数
如果想注册一个工作项,等待一个内核对象被触发的时候去执行,与之前说过的步骤很相似,首先编写如下原型的函数:VOID CALLBACK KernelObjCallback(PTP_CALLBACK_INSTANCE pInstance,PVOID pvContext,PTP_WAIT pWait,TP_WAIT_RESULT WaitResult );pWait是CreateThreadpoolWait函数返回的对象,WaitResult是DWORD的值,可能的值是WAIT_OBJECT_0,WA原创 2021-03-22 16:40:32 · 221 阅读 · 0 评论 -
多线程实现同步读写文件
头文件:// MFCStringReverseDlg.h: 头文件//#pragma once// CMFCStringReverseDlg 对话框class CMFCStringReverseDlg : public CDialogEx{// 构造public: CMFCStringReverseDlg(CWnd* pParent = nullptr); // 标准构造函数// 对话框数据#ifdef AFX_DESIGN_TIME enum { IDD = IDD_MF.原创 2020-06-15 17:04:17 · 955 阅读 · 0 评论 -
多线程对共享资源原子访问读写
```cpp#pragma once#include <iostream>#include <windows.h>#include <tchar.h>#include <process.h>using namespace std;class MultiThreads{public: MultiThreads():m_listenThread1(NULL), m_listenThread2(NULL), threadId(0),.原创 2020-06-07 21:05:43 · 172 阅读 · 0 评论 -
在内核对象触发时调用一个函数------线程池
/运行结果还有问题就是中文显示不出来,都是乱码,请各位大神指点/// ThreadpoolAsyncIO.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <windows.h>#include <tchar.h>#include <iostream>VOID CALLBACK OverlappedCompletionRoutine(PTP_CALLBACK_INSTANCE pInstance, PVOID p原创 2020-05-23 23:09:30 · 102 阅读 · 0 评论 -
mfc picture控件 显示图片最小化后重新打开图片消失?
关于mfc picture控件 显示图片最小化后重新打开窗口图片消失的问题已解决。最近在学习MFC,使用picture控件时却遇到当图片已经正确显示且最小化后再次打开时图片却消失了的问题。(窗口界面已经使用最小化功能时才会出现上述问题)一般在生成界面后会有如下代码:void CMFCDemoDlg::OnPaint() //函数–OnPaint(){if (IsIconic()){...转载 2020-01-28 20:28:04 · 1166 阅读 · 0 评论 -
MFC实现CIE1931
轮廓坐标:360 0.17556 0.005294361 0.175483 0.005286362 0.1754 0.005279363 0.175317 0.005271364 0.175237 0.005263365 0.175161 0.005256366 0.175088 0.005247367 0.175015 0.005236368 0.174945 0.005226...原创 2019-12-31 15:06:19 · 1248 阅读 · 0 评论 -
MFC 动态设置Button的文字
一、在按钮的响应函数里添加如下代码:(基于对话框上的按钮)CString str;if (GetDlgItemText (按钮的ID, str),str==“开始”)SetDlgItemText(按钮的ID,“停止”);elseSetDlgItemText(按钮的ID,“开始”);CString str; GetDlgItemText(IDC_START_BUTTON, str);...转载 2019-05-27 13:56:20 · 835 阅读 · 0 评论 -
MFC输出不同字体大小和格式
CDC* pDC; pDC = GetDC(); if (pDC == NULL) return; CFont myfont, * oldFont; LOGFONT font; memset(&font, 0, sizeof(LOGFONT)); font.lfHeight = 60; font.lfWidth = 60; font.lfItalic...原创 2019-05-17 16:57:00 · 755 阅读 · 0 评论 -
[MFC]如何让窗口全屏
代码如下: int nFullWidth = GetSystemMetrics(SM_CXSCREEN); int nFullHeight = GetSystemMetrics(SM_CYSCREEN); CRect m_FullScreenRect; CRect WindowRect; GetWindowRect(&WindowRect); ...转载 2019-05-09 21:32:45 · 1065 阅读 · 0 评论 -
MFC如何显示位图
CStatic图片控件无法显示,然后找了很多资料,才发现load之后要记得detach释放,不然有可能造成图片无法展示,内存不可读。代码如下:void CPCUpperMonitorDlg::OnTimer(UINT_PTR nIDEvent){ // TODO: 在此添加消息处理程序代码和/或调用默认值 std::lock_guard<mutex> guard(serial...转载 2019-05-14 10:34:24 · 362 阅读 · 0 评论 -
c++实现字符串分割函数案例
这是一个字符串分割处理,并转存储。// stringtest001.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include <string>#include <vector>using namespace std;int main(){ string str = "(...原创 2019-05-08 14:32:02 · 457 阅读 · 0 评论 -
c++动态库显示加载方法
#include <stdio.h>#include <stdlib.h>#include "iniparser.h"#include <afx.h>typedef dictionary * (*iniLoad)(const char * ininame);typedef void(*iniDump)(dictionary * d, FILE * ...原创 2019-05-04 10:33:04 · 1125 阅读 · 0 评论 -
MFC中的OnDraw()函数在哪里啊
1、使用向导创建一个基于单文档视图的应用程序,视图的基类选择CView。2、在工程的Class视图的CXXXXView类中会发现OnDraw函数。双击它,就自动定位到函数体了。当你看到Windows显示的按钮时,背景颜色是灰色的。当你看到缺省的窗口背景时,它是白色的。当你的老板需要你创建一个黑色背景的按钮时,你会怎么样做呢?其实在Windows里先用API函数CreateSolidBrush创...原创 2019-05-23 11:22:55 · 8805 阅读 · 0 评论 -
打开和保存文件对话框实现
void CMFCFileDlgDlg::OnBnClickedOpenButton(){ // TODO: 在此添加控件通知处理程序代码 // 设置过滤器 TCHAR szFilter[] = _T("文本文件(*.txt)|*.txt|所有文件(*.*)|*.*||"); // 构造打开文件对话框 CFileDialog fileDlg(TRUE, _T("txt"),...原创 2019-08-03 10:06:58 · 667 阅读 · 0 评论 -
创建一个打开窗口,并执行文件内容反转
创建一个打开窗口,并执行文件内容反转,并且把反转后的内容在记事本展示。void CFileReverseDlg::OnBnClickedFileRevereButton(){ // TODO: 在此添加控件通知处理程序代码 BOOL bIsTextUnicode; BOOL bRet; CString Filename; m_filePath.GetWindowTextW(Filen...原创 2019-07-21 19:21:25 · 137 阅读 · 0 评论 -
用CreateFile打开串口超过com10就不能打开的解决方法
一台机子用moxa的两块8口的串口扩展卡,扩展了16个串口,在硬件管理器里面也能看到这16个串口,但是用CreateFile打开串口时,COM10及以上的串口打开失败。解决方法如下:char szPort[50]; if (portNo < 10) { sprintf_s(szPort, "COM%d", portNo); } else { sprintf_s(szPor...原创 2019-07-11 16:10:39 · 2818 阅读 · 0 评论 -
自动识别电脑端口号代码(完整版)
通过MFC实现:要调用Setupapi的接口,所以属性-》输入-》附件依赖项:添加Setupapi.lib就可以了。#include <afxtempl.h>// Struct used when enumerating the available serial ports// Holds information about an individual serial por...原创 2019-07-05 16:11:19 · 1153 阅读 · 0 评论 -
小心for循环并列条件的陷阱
int main(){ int a[10] = { 0, 1, 2, 3,4,5,6,7,0,9 }; for (int i = 0, j = 0; i < 10 && a[i] && j < 10; i++, j++) { std::cout << i << ","; } return 0;}for循环并列...原创 2019-06-12 09:46:44 · 2039 阅读 · 0 评论 -
读取文件筛选数据写入另外一个文件
// ParseTest.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include <cstdio>#include <cstring>using namespace std;int main(){ FILE* fpr = fopen("temp.txt", "r");...原创 2019-06-13 18:49:02 · 524 阅读 · 0 评论 -
MFC调用输入法软件盘
首先包含头文件,添加库文件#include <Imm.h>#pragma comment(lib, “imm32.lib”)添加消息WM_LBUTTONDOWNvoid CModifyPassword::OnLButtonDown(UINT nFlags, CPoint point){ // TODO: 在此添加消息处理程序代码和/或调用默认值 HWND hwnd = :...原创 2019-05-28 17:36:38 · 702 阅读 · 0 评论 -
MFC--窗口控件随窗口大小进行自适应
通常,我们在将窗口进行最大化时会出现窗口中的控件自适应问题,如何让窗口中的所有控件跟随窗口做自适应变化,提供如下操作方法供参考第一步、在对话框类中(.h文件)定义如下变量和函数void ReSize();POINT old;afx_msg void OnSize(UINT nType, int cx, int cy);1、首先在OnInitDialog函数中获取窗口位置坐标BOOL C...原创 2019-05-03 18:54:21 · 1828 阅读 · 0 评论