QT屏保程序设定.zip
Qt实现类似与屏保的功能,当鼠标在一定时间内一直停留在一个位置的时候,程序会自动切入到其他界面(用于显示一些信息),当鼠标移动的时候,屏幕切换回来,效果类似于屏幕保护,通过定时器来操作,获取时间差;
CRC16Check.zip
在串口通讯中,也就是485com或者232com串口通讯程序中,几乎必须要用到的CRC16效验,因为在串口通信中,串口的电压是5V,串口发送的最底层的是0/1;由于设备通信现场环境复杂可能会导致电压的变化,这样容易出现应该发0结果发成1;所以要对我们真实发出去的数据进行效验,比如我们发出16进制“02 03 04 05”;我们需要在这个真实发出数据的结尾加上效验“ XX XX”,这样最终发出去的应该是“02 03 04 05 XX XX”,当接收方收到之后,也进行“02 03 04 05”效验,看结果与“XX XX”是否一致;如果一致,说明本次发送的数据真实,没有出现变化;
封装CStaic绘制波形曲线图.zip
封装CStaic绘制波形曲线图;
windows绘制各种曲线图,没有直接的封装好的控件,绘制起来非常麻烦,尤其是遇到拖拽尺寸大小,动态变化以及动态曲线图展示,都是很麻烦头疼的事情;这里通过封装CStaic控件,绑定;定时器刷新重绘来实现;分享给大家!
485串口程序.zip
里面串口程序包括 早期的电话控件,后来封装成头文件,这里我们整理出来,分享给大家;
1:在windows下面,我们之间封装好两个源文件函数直接调用就可以了;
2:在linux qt 下面,如果qt5版本以下 是没有自带的 该方面相关的库文件,所有我们自己写了以下;
3:qt5以上是默认自带了相关的控件;
Linux Qt Can.zip
Linux下面QT写Can通信程序,网络上有很多例子都是互相抄的;本人因为项目原因,通过源代码Socket函数,写了完整的程序,含有2个案例;分享给大家;
这里主要是包含几个步骤,1:绑定Socket;2:cna/can1的设置,3:波特率的设置(如果发送和接收波特率不一致肯定不行的);4:发送;5:接收处理;
下面就贴出部分代码:
void MyWindow::startcan(int number)
{
int ret = 0;
//can先关闭 设置好波特率后 再开启can
if(number == 0) //can0
{
system("ifconfig can0 down");//先关闭
system("ip link set can0 up type can bitrate 50000 triple-sampling on");//设置波特率
system("ifconfig can0 up");//再开启
}
else //can1
{
system("ifconfig can1 down");//先关闭
system("ip link set can1 up type can bitrate 50000 triple-sampling on");//设置波特率
system("ifconfig can1 up");//再开启
}
socket = ::socket(PF_CAN,SOCK_RAW,CAN_RAW);
struct ifreq ifr;
strcpy((char *)(ifr.ifr_name),number == 0 ? "can0" : "can1");
ioctl(socket,SIOCGIFINDEX,&ifr);
addr.can_family = AF_CAN;
addr.can_ifindex = ifr.ifr_ifindex;
ret = bind(socket,(struct sockaddr*)&addr,sizeof(addr));
if (ret OpenCan(50000);
ArmCan = new Thread(zyhapi,socket,port);
ArmCan->start();
}
void MyWindow::stopcan(int number)
{
if(ArmCan)
{
ArmCan->stop();
ArmCan->terminate();
ArmCan->wait();
}
zyhapi->CloseCan(number);
}
//发送
void MyWindow::on_sendbtn_clicked()
{
/*
struct can_frame frame;
memset(&frame,0,sizeof(struct can_frame));
std::string str=ui->edit->text().toStdString();
if(str.length() > 8)
{
QMessageBox::about(this,"error","length of send string must less than 8 bytes");
return;
}
*/
struct can_frame frame;
memset(&frame,0,sizeof(struct can_frame));
char buf[8]={0X20,0XFF,0X01,0X02,0X03,0X04,0XFF,0XFF};
frame.can_id = 0x00000020;//发出去的帧ID即:0X00000020
frame.can_dlc = 8;//帧数据长度
for(int i=0;i<frame.can_dlc;i++)
{
frame.data[i]=buf[i];//帧数据
}
//frame.can_id = 0x123;
//strcpy((char*)frame.data,str.c_str());
//frame.can_dlc = str.length();
sendto(socket,&frame,sizeof(struct can_frame),0,(struct sockaddr*)&addr,sizeof(addr));
/*
struct can_frame frame;
char buf[8]={0X20,0XFF,0X01,0X02,0X03,0X04,0XFF,0XFF};
frame.can_id = 0x00000020;//发出去的帧ID即:0X00000020
frame.can_dlc = 8;//帧数据长度
for(int i=0;iWriteCan(frame.can_id,frame.data,frame.can_dlc);//发数据,通过can端口-- 暂时默认 CAN0 端口
*/
}
QT All arm4.85.zip
QT 技术开发应用实战项目,包含多种控件、数据库、进程间通信、多线程、
ARM系统环境、定时器、字符转换、进制转换、通信传输发送和接收、can通信、自定义字体密码框等全套技术
QT 技术开发应用实战项目,包含多种控件、数据库、进程间通信、多线程、
ARM系统环境、定时器、字符转换、进制转换、通信传输发送和接收、can通信、自定义字体密码框等全套技术
QT实现文件夹和文件的复制粘贴.docx
QT实现文件夹和文件的复制粘贴.docx
VC++动态多网页浏览器.zip
VC++动态多网页浏览器.动态添加网页窗口,动态删除,自动浏览
VC++模拟网页浏览器.zip
VC++模拟网页浏览器.可以添加设置网址,自动直接导航;
一次图软件绘图.zip
电力一次图软件绘图;纯vc++代码实现,支持弹簧控件拖拉缩放功能,支持多种电气图、箭头、直线、编辑等功能,可以随意选中删除任意图等!
电力一次图软件绘图;纯vc++代码实现,支持弹簧控件拖拉缩放功能,支持多种电气图、箭头、直线、编辑等功能,可以随意选中删除任意图等!
每个类型实现独立控件封装!
PowerPicture0330.rar
vc++ 弹簧控件;实现图形、直线、箭头、矩形、文字编辑等拖拽;方便各种拖动移动 变换大小尺寸!
draggabilly拖动拖拽元素插件.zip
draggabilly拖动拖拽元素插件,低分分享给大家,可以让控件类似控件库一样实现
draggabilly拖动拖拽元素插件,低分分享给大家,可以让控件类似控件库一样实现
draggabilly拖动拖拽元素插件,低分分享给大家,可以让控件类似控件库一样实现
draggabilly拖动拖拽元素插件,低分分享给大家,可以让控件类似控件库一样实现
draggabilly拖动拖拽元素插件,低分分享给大家,可以让控件类似控件库一样实现
MyDrawDlg.zip
VC++ MFC自绘对话框窗口和标题栏等
主要包括标题栏、最小、最大化按钮,关闭按钮(系统消息关闭)以及边框等的重绘;
绘制主要通过相应系统函数来实现;
CListCtrl.zip
VC++ 控件CListCtrl.集成多种控件的使用,如:Cedit,CButton,Checkbox,下拉列表等多种控件的相应!
两种模式方案选择!
DrawCombox.zip
两个完整的项目例子,都是可以直接应用到工程项目中,两种方法实现的自绘ComBox组合框下拉列表、和图片模式下的下拉,以及背景色等的展示,可以直接应用,也可以拷贝头文件、cpp文件,直接应用。
TestWave.zip
自绘几个控件,统一在一起展示,比如:ctabctrl、cbutton等多种方法的绘制,多种选择。
MyTable&MyMenu.zip
自绘tabctrl和menu弹出式菜单;完美自绘控件,继承自tabctrl类;直接抠出头文件和cpp文件,可以直接在工程项目中使用,非常方便和简单,效果很不错。
CButtonText.zip
真正的实现CButton按钮的自绘制功能,无需贴图,保证鼠标进入、离开;点击按钮等显示不同的效果;重写类继承自CButton;
88842088GDIplusBrowser.rar
VC++ tabControl 中动态添加删除选项卡,动态实现添加tab选项卡页面;类似浏览器一样;
LineChartControlDemo.zip
VC++ 波形绘制演示
VC++ 波形绘制演示
VC++ 波形绘制演示
VC++ 波形绘制演示
VC++ 波形绘制演示
qt5.15.2在线安装器和文档
qt5.15.2在线安装器和文档,细节
自行进行的封装Json和调用,实际工程项目
自行进行的封装Json和调用,实际工程项目
VS2019调用封装好的Matlib动态链接库文件 dll; 用的是2022a版本
VS2019调用封装好的Matlib动态链接库文件 dll; 用的是2022a版本;
matlab版本不同的话,可能遇到很多问题,可能调用失败,先要初始化环境;感谢分析分享!
Tcp&Udp测试工具和抓包工具及代码测试
Tcp&Udp测试工具和抓包工具及代码测试;包括了测试工具和测试代码运行
vc++ 标准的基础函数实现的 客户端TCP代码
vc++ 标准的基础函数实现的 客户端TCP代码,采用windows系统函数,测试成功!!!可以直接使用!!!注意超时问题。也就是要设置超时函数。防止通信socket拥堵的发生!
LiaoTian.zip
VC++ socket 客户端和服务端程序;以及注意的细节问题;
首先,客户端要做超时处理,否则容易造成堵塞;
其次,#include <afxsock.h> 头文件的加载是必不可少的;
再者,服务端代码,开始就 AfxSocketInit 初始化,要不然
CSocket类的Create()失败的问题!
各种工业、电器开关、厂站、仪器仪表等各种门类分类资源图片png格式
各种工业、电器开关、厂站、仪器仪表等各种门类分类资源图片png格式
Windows环境下QT串口485通讯QSerialPort的问题
Windows环境下QT串口485通讯QSerialPort的问题,如何实现windows环境下QT的串口通信,以及实际运行中注意的问题和源代码实现,write函数在线程中发送遇到的问题,如何解决!都进行了详细的说明,以及问题的原因!
QT程序的打包方法和工具
QT程序的打包方法和工具;众所周知的原因,因为受到大环境的原因,现在软件要求开源开放,QT的使用越来越多,当然QT也是比较简单的,得到众多开发者的喜爱;初学者都会遇到如何打包和寻找打包工具的问题;在这里,我用完整的文档方案和下载工具,完美的解释了如何打包,寻找资源库的问题!
QT美化界面和控件,常用的简单设计
QT美化界面和控件,常用的简单设计;方便大家快速的粘贴使用;非常简单使用;
QT读写XML与Sqlite.zip
QT读写XML与Sqlite; 包括了QT读写XML的方法和Sqlite数据库的方法,项目完整案例,可以直接使用;
udp收发通信.zip
udp收发通信,测试了 UDP网络通信程序,这里默认用的是客户端程序来做得;服务端默认是设备了或者网关机器设备;
QStandardItemModel分页滚动显示内容
QT QStandardItemModel 、QTableView 进行滚动条分页显示,上一页、下一页,滚动拖拉进行内容显示;
XX系统软件系统架构说明书.doc
XX系统软件系统架构说明书.doc
QT5LinuxArm
QT5LinuxArm,包括了以下内容:QT程序调用CMD命令执行,ARMqt升级程序;QT多线程,文件与文件夹,文件存储和循环覆盖,文件夹监测;485串口通信、网口通信、CAN通信,Sqlite数据库操作,动态隐形字体键盘、读取和修改以太网IP和网关、狗的启动和控制、波形图的读取和绘制、通过信号槽发送消息、通过emit来处理多线程和主线程之间的调用、如何去防止子线程调用主线程UI的资源造成界面刷新Bug的解决等等、、、、、
NSIS(软件打包工具) v3.03 增强定制版
NSIS(软件打包工具) v3.03 增强定制版
NSIS(软件打包工具) v3.03 增强定制版
NSIS(软件打包工具) v3.03 增强定制版
comtrade99中文版.pdf
电力行业格式 comtrade99中文版.pdf;
Github_python-master.zip
分享一些Python的源代码和算法方法、Github上面上传分享
分享一些Python的源代码和算法方法、Github上面上传分享
分享一些Python的源代码和算法方法、Github上面上传分享
分享一些Python的源代码和算法方法、Github上面上传分享
分享一些Python的源代码和算法方法、Github上面上传分享