- 博客(98)
- 资源 (1)
- 收藏
- 关注
原创 QT中的item views与Item widgets控件的用法总结
在一般进行数据表格展示的时候,大多时候要用到表格、列表或者树形结构。Item View (list View、Tree View、Table View、Column View和Undo View)Item widget(List Widget、Tree Widget和Table Widget)
2024-10-24 23:15:34 292
原创 QCustomPlot的下载和使用
QCustomPlot是一个基于Qt画图和数据可视化的C++控件。在Qt下的绘图工具有Qwt、QChart和QCustomPlot,置于选择哪个绘图工具各有优缺点。在绘制大量数据(10万个点以上)时选择QCustomPlot,在数据量比较小时,QChart和QCustomPlot相差无几。
2023-11-15 22:20:08 1679
原创 解决删除QT后Qt VS Tools中Qt Options中未删除的错误
在的Qt Options已经配置好后如果删除QT程序之后会出现任然存在,这是如果再添加一个话就不能出现重名了,如果新建一个其他名字的话其实在vs中还是不能正常运行qt,会出现点击ui文件vs会无故重启或者点击r报错:未将对象引用设置到对象的实例。
2023-11-13 00:08:07 566
原创 Julia入门-2、Julia中的全局模块对象
进行编程时,这些全局模块对象通常是内部实现细节,我们无需直接操作它们。但是,在一些特殊情况下,例如编写。是一个特殊的模块对象,它是当前执行上下文的顶级模块。它是全局变量和函数的默认命名空间。这个模块包含了当前 Julia 进程的所有全局作用域。表示当前正在执行的模块,也称为“顶层模块”(进行交互时,我们需要了解这些全局模块对象。语言核心定义的模块。标准库中的各种类型和函数,如。的内置类型和函数,如。
2023-05-11 01:45:42 488
原创 Julia入门-0、在Windows下安装Julia
Julia 是一个面向科学计算的高性能动态高级程序设计语言。Julia 最初是为了满足高性能数值分析和计算科学的需要而设计的,不需要解释器,速度快。
2023-05-10 23:41:22 1364
原创 08_Qt常用
文章目录Lambda表达式1、没有参数2、有参数坐标系系统内存回收机制菜单栏工具模态对话框和非模态对话框标准对话框和文件对话框1. 关于对话框2. 问题对话框3.文件对话框Lambda表达式Lambda为C++ 11增加的新特性,需要在项目文件(*.pro)中添加:CONFIG += C++11Lambda表达式为匿名函数对象信号一起使用,非常方便1、没有参数 QPushButton *b4 = new QPushButton(this); b4->setText("Lambd
2021-09-15 07:29:50 139
原创 06_Qt消息机制和事件
文章目录一、鼠标事件二、键盘事件三、定时器事件事件(event)是由系统或者 Qt 本身在不同的时刻发出的。当用户按下鼠标、敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件。一些事件在对用户操作做出响应时发出,如键盘事件等;另一些事件则是由系统自动发出,如计时器事件。在Qt中所有事件类都继承于QEvent。一、鼠标事件键盘事件虚要添加头文件#include <QMouseEvent>在mylable.h中protected: //保护 //鼠标点击事件
2021-09-15 07:26:14 200
原创 04_Qt信号与槽机制
文章目录一、信号和槽1.1、Qt5的书写方式1.1.1、处理子窗口的信号不带参数1.1.2、处理子窗口的信号带参数(使用函数指针)1.2、Qt4的书写方式1.3、Lambda表达式(匿名函数对象)二、自定义信号槽2.1、信号2.2、槽当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号signal。这种发出是没有目的的,类似广播。如果有对象对这个信号感兴趣 ,它就会使用连接connect函数,意思是,将想要 处理的信号和自己的一个函数为槽slot绑定来处理这个信号。也就是说,当信
2021-09-15 07:24:08 424
原创 03_Qt软件打包与发布(windeployqt工具)
文章目录一、查看windeloyqt工具在哪二、生成项目的release文件三、打开Qt的控制台,打包使用官方自带的windeployqt工具来打包我们的项目。一、查看windeloyqt工具在哪我的Qt安装在D盘,所以我知道到的目录在D:\Qt\Qt5.8.0\5.8\mingw53_32\bin二、生成项目的release文件打开你的项目,选择release版本,点击运行,就能够生成项目的release版本的可执行程序了。三、打开Qt的控制台,打包注意是Qt的控制台,不是dos界面。
2021-09-15 07:22:38 383
原创 01_Qt应用程序框架
文章目录Qt应用程序框架项目.pro文件main.cpp主函数Qt应用程序框架项目.pro文件#模版QT += core gui#高于4版本,添加QT+=widgets,为了兼容Qt4greaterThan(QT_MAJOR_VERSION, 4): QT += widgets#应用程序的名字TARGET = make#指定mekefile的类型,appTEMPLATE = app#源文件 .cpp文件SOURCES += main.cpp\ my
2021-09-15 07:16:30 256
原创 工作线程与界面线程
工作线程与界面线程区别工作线程与界面线程的区别在于:消息循环模态对话框有自己的消息循环非模态对话框需要其所在线程中有消息循环MSG msg = { 0 }; while (GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); }在界面的操作时最好还是在界面线程中进行处理,但是如果处理的是非本线程的窗口时建议用发消息的方式!界面线程的创建:使用类向
2021-08-24 08:18:05 372
原创 线程间通信
线程间通信全局变量或类的成员变量1. 全局变量定义一个全局变量,开启两个线程一个进行自减,一个进行打印,并使用CCriticalSection类’临界区’进行线程同步。//CSyncThreadDlg.hUINT ThreadPoc3(LPVOID pParam);//全局变量 线程函数UINT ThreadPoc4(LPVOID pParam);extern UINT g_Num;public:CCriticalSection m_cs;//临界区对象////CSyncThrea
2021-08-24 01:08:25 120
原创 捕获系统调试信息输出的工具
捕获系统调试信息输出的工具DebugView是一个系统调试信息输出的捕获工具。使用请参考DebugView 简单使用在程序中使用如下函数: 1> OutputDebugString 或者在MFC中使用TRACE 2> 内核模式中使用Out_Debug_String,DbgPrint,_Debug_Printf_Service 编译程序为DEBUG版本,然后运行程序(不是在vs 中运行,是单独exe运行),打开debugview 就可以在其中看到输出的调试信息。DebugVi
2021-08-19 01:01:11 246
原创 网络编程之UDP初级实现
服务端:#define _WINSOCK_DEPRECATED_NO_WARNINGS#include <WinSock2.h>#include <WS2tcpip.h>#include <iostream>#include <stdio.h>#pragma comment(lib,"ws2_32.lib")using namespace std;int main(){ WSADATA wsaData; int ret = 0; i
2021-08-17 08:18:06 95
原创 网络编程之UDP通信
UDP传输原理TCP协议为应用层提供可靠的、面向连接的基于流的服务、使用超时重传、数据确定等方式来确保数据包被正确发送至目的地。UDP是无连接的,面向消息的数据传输协议,与TCP相比,有两个致命的缺点:数据包容易丢失数据包无序所以制定上层的协议,包括:流控机制、超时机制、重排机制、重传机制UDP传输应用层需要注意的问题(1)数据包确定机制(2)数据包重发机制(3)尽量不发大于路径MTU的数据包(4)处理数据包重排UDP分片原理对应用层的数据进行分片,以满足MTU传输的需求在
2021-08-16 23:30:58 320
原创 C# 初学
由于工作需求需要学习C#来进行桌面应用程序开发。而当前C#下的桌面应用程序开发主要是WinForm和WPF 。一、界面渲染方式1、WinForm是.Net开发平台中对Windows Form的一种称谓。本质就是在MFC上增加一层.Net API。winform的设计器是VS自带的控件进行拖拽,设置控件对应的属性,事件。WinForm是对传统windows界面元素的封装,通过gdi绘制。2、WPF是微软推出取代WinForm的产品,能够做到分离界面设计人员和开发人员的工作。而WPF的设计器是用xaml语
2021-08-09 01:04:08 959
原创 [MFC小工具]电脑信息
软件功能查看电脑的用户名、CPU、内存大小和硬盘容量的使用信息开发环境系统Windows 10编译器Visual studio 2017掌握技术MFC基本控件定时器的使用屏蔽Esc和F1弹出帮助文档软件效果图经过验证和我电脑的信息一样...
2021-08-02 01:12:50 158
原创 [MFC]CString对象的提高
文章目录一、其他类型与 CString 对象类型的转换1. 格式化字符串2. CString向 int、TCHAR * 类型的转换3. CString 对象的 Ansi 与 Unicode 转换二、CString对象字符串所占用的字节数一、其他类型与 CString 对象类型的转换1. 格式化字符串int、TCHAR * 向CString类型的转换int num = 100;CString str;str.Format(_T("%d"), num);2. CString向 int、TCH
2021-07-30 01:43:31 91
原创 [MFC]CString对象的入门
CString是基于TCHAR数据类型的对象。如果在你的程序中定义了符号_UNICODE,则TCHAR被定义为类型wchar_t,即16位字符类型;否则,TCHAR被定义为char,即8位字符类型。在UNICODE方式下,CString对象由16位字符组成。非UNICODE方式下,CString对象由8位字符组成。当不使用_UNICODE时,CString是多字节字符集(MBCS,也被认为是双字节字符集,DBCS)。一、CString 类对象的初始化:CString s1; // 空字符串CStrin
2021-07-30 01:41:32 566
原创 Ansi 与 Unicode编码格式(2)
一、不同编码格式下的字符串处理及相互转换1. Ansichar、char * 、const char *CHAR、(PCHAR、PSTR、LPSTR)、LPCSTR2. Unicodewchar_t、wchar_t * 、const wchar_t *WCHAR、(PWCHAR、PWSTR、LPWSTR)、LPCWSTR3. T 通用类型TCHAR、(TCHAR * 、PTCHAR、PTSTR、LPTSTR)、LPCTSTRP代表指针的意思,STR代表字符串的意思,L是长指针的意思,
2021-07-30 01:39:14 589
原创 [MFC技巧]定时器
定时器的主要功能是按照程序间隔时间,间隔性的产生WM_TIME消息,发送到指定窗口,窗口会对WM_TIME消息进行处理。一、WM_TIMER消息映射进行时间控制调用函数SetTimer()设置定时间隔,如SetTimer(0,200,NULL)即为设置200ms的时间间隔。增加定时响应函数 OnTimer(),并在该函数中添加响应的处理语句,用来完成到达定时时间的操作。此方法非常简单,可以实现一定的定时功能,但其定时功能如同Sleep()函数的延时功能一样,精度非常低,最小计时精度仅.
2021-07-29 01:16:23 1162
原创 窗口句柄、位置
文章目录FindWindow函数用法1. 函数声明2.MFC中使用GetClassName函数用法1. 函数原型2、MFC中使用MoveWindow函数用法1. 函数定义2. MFC中使用FindWindow函数用法1. 函数声明参数一:找的窗口的类参数二:找的窗口的标题返回值:标识了具有指定的类名或窗口名的窗口。如果没有找到这样的窗口,则返回NULL。返回的CWnd*值可能是临时的,不能被保存以供将来使用。static CWnd* PASCAL FindWindow( LPCTSTR lps
2021-07-28 02:31:58 1821
原创 [MFC小工具]调整软件位置
问题场景电脑连接多个显示器,并运行多个软件,需将启动的软件移动到指定的显示器上。开发环境系统Windows 10编译器Visual studio 2017(多字节集)掌握技术MFC基本控件的使用FindWindow、GetWindowRect和MoveWindow函数的使用软件效果图...
2021-07-28 01:24:03 152
原创 QT中生成字符串MD5
文章目录1. 创建一个简单的Qt程序,添加头文件2、核心代码3、验证在工作遇到需要对字符串进行md5加密,而qt自带md5加密类QCryptographicHash直接进行调用就行。MD5 加密后的位数有两种:16 位与 32 位。16 位实际上是从 32 位字符串中取中间的第 9 位到第 24 位的部分1. 创建一个简单的Qt程序,添加头文件#include <QCryptographicHash> //md5加密的库#include <QDebug> //调试
2021-07-26 00:26:14 1669
原创 [MFC控件]为Button按钮设置图标
MFC设置图标按钮(有两种方式):1、将CButton样式指定为BS_BITMAP,为按钮设置位图头文件:private: CButton m_Button_bmp;//给此控件设置位图源文件:m_Button_bmp.Create(L"按钮", WS_CHILD | WS_VISIBLE | BS_BITMAP, CRect(300, 100, 400, 250), this, 10000);HBITMAP hBmp = LoadBitmap(AfxGetInstanceHandle(),
2021-07-26 00:22:39 1837
原创 [MFC控件]获取Edit编辑框内容
文章目录一、设置编辑框变量二、通过ID获取一、设置编辑框变量1、为编辑框控件添加一个类型为CEdit的变量m_EditCString str;m_Edit.GetWindowText(str);2、为编辑框控件添加一个类型为CString的变量m_Edit_valueCString str;str.Format(m_Edit_value);二、通过ID获取CString str;//密文GetDlgItem(IDC_EDIT1)->GetWindowText(str);
2021-07-26 00:19:00 9310
原创 屏蔽按Esc、Enter和Alt+F4键时退出
解决按Esc、Enter和Alt+F4键退出软件的显示。首先使用类向导功能添加虚函数PreTranslateMessage修改代码BOOL CAutostartDlg::PreTranslateMessage(MSG* pMsg){ if (pMsg->message == WM_KEYDOWN)//WM_KEYDOWN 非系统键即不与ALT联用的情况 { switch (pMsg->wParam) { case VK_ESCAPE://屏蔽ESC {
2021-07-22 01:26:45 771
原创 [MFC小工具]软件自启
软件功能:定时去启动一个软件(.exe),前提需要在配置文件配置需要运行的软件名和倒计时时间开发环境系统Windows 10编译器Visual studio 2017掌握技术:1、MFC基本控件的使用2、读写ini配置文件3、定时器的使用4、调用外部程序5、屏蔽Esc、Enter和Alt+F4退出程序6、屏蔽F1弹出帮助文档7、更换标题栏图标软件效果图:...
2021-07-22 01:13:47 105
原创 线程创建的方式
一、创建线程的三种方式1. CreateTread函数的具体格式如下:HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParamete
2021-07-19 00:57:31 179
原创 SkinMagic、Skin++和VCLSkins皮肤库的使用
在进行开发的过程中发现MFC本身的界面比较丑,查阅资料说可以直接借用第三方界面库。使用(SkinMagic、Skin++、VCLSkins)皮肤库,来直接美化界面。一、开发环境VS 2017SkinMagic、Skin++、VCLSkins皮肤库二、SkinMagic的使用方法1. 制作SkinMagic需要自己使用SkinMagic提供的SkinMagicBuildr设计自定义风格的一套皮肤。这里我使用的是网上已经制作好的,若自己有兴趣可以去进行制作。2. 往项目中添加SkinMagic
2021-07-19 00:39:05 2880 2
原创 查看当前自己电脑的线程数
我们在学习线程,那我们知道自己电脑中的CPU的线程数吗?方法一:任务管理器启动任务管理器点击任务管理器的“性能”选项如下图所示,我的电脑是双核四线程的如果上图看的不明确,可以看下图方法二:命令行法win+R输入CMD,按快捷键ctrl+shift+enter启动管理员权限的命令行输入wmic>cpu get */cpu get NumberOfCores,NumberOfLogicalProcessors实际操作效果如下图所示,是双核四线程的方法三:借助第三方工具
2021-07-15 21:11:37 19285
原创 多线程入门
一、什么是多线程多线程编程的含义是将程序任务分成几个并行的子任务。特别是在网络编程中,你会发现很多功能是可以并发执行的。比如网络传输速度较慢、用户输入速度较慢,你可以用两个独立的线程去完成这两个功能,而不影响正常的显示或其它功能。多线程是与单线程比较而言的,普通的Windows采用单线程程序结构,其工作原理是:主程序有一个消息循环,不断从消息队列中读入消息来决定下一步所要干的事情,一般是针对一个函数,只有等这个函数执行完之后,主程序才能接收另外的消息来执行。比如子函数功能是在读一个网络数据,或读一个文件
2021-07-15 02:26:13 133
原创 使用Win下API编写操纵杆应用程序
而目前在Windows下编程控制游戏杆比较主流的技术是DirectInput,而我这里重要是采集游戏杆的二维数据,不需要复杂的控制功能,直接就采用Win API游戏杆相关的函数都封装在 Winmm.dll 中。相应的头文件是 Mmsystem.h, 链接时需要链接 Winmm.lib。//添加joystick操作api的支持库#include<MMSystem.h>#pragma comment(lib, "Winmm.lib")编程步骤:捕获游戏操纵杆处理Wi.
2021-07-14 00:43:35 577
原创 VS项目字符集
在使用VS进行编码过程中,查看项目属性看到项目的默认值下有一个字符集选项,看下图:多字节字符集在最初的Internet上只有一种字符集–那就是ASCII字符集,它相信大家都知道,它使用7bits来表示一个字符,总共表示128个字符,其中包括英文字符、数字、标点符号等字符。在后来有进行扩展,使用8个bits来表示一个字符,总共可以表示256个字符,主要在原来的7 bits字符集的基础上加入了一些特殊符号。后来,由于各国语言的加入,ASCII已经不能满足信息交流的需要,为了能够表示其它国家的文字,各国在
2021-07-13 00:21:08 2033 1
原创 串口通信的基础
文章目录一、串口通信的基础知识二、虚拟串口软件和串口调试助手的推荐1. [虚拟串口软件](http://www.cmsoft.cn/resource/291.html)2. [串口调试助手](http://www.cmsoft.cn/resource/101.html)三、(`CSerialPor`)虚拟串口类一、串口通信的基础知识最近工作中又用到串口方面的知识,在这里作出总结。可以去看这两篇文章。https://blog.csdn.net/huwei2003/article/details/36
2021-07-12 08:05:48 201
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人