自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 通过QT creater创建Qgis上的C++插件

其他的文件还是不要改动的好(文件很大的,要下载很长时间)注:切记要把标记的文件放到对应目录中(新建一个叫plugins的文件夹,然后把东西放进去,再运行就OK了)好像文章和资源不能一起放,那我发个免费的资源吧。文件夹的图我就放在这个下面了。接下来选择对应的版本(安装Qt的时候,它会让你选的,建议是用64位的)1、运行NewPlugin.bat,它会根据标记的文件来生成Qt项目。接下来我会把我的文件夹发上去,按照我的文件夹直接用就没问题了。2、用Qt creater打开新创建的项目,选。

2023-04-24 11:33:15 387 3

原创 Qgis界面UI连接自定义插件功能(QAction)

我的功能是点击Qgis上界面的QAction来发送信号给我自己的插件,从而修改自己插件的enable状态。顺序是先继承QgsMapTool来生成一个地图工具类,在这个类中将该QAction连接上信号和槽。然后,在主函数中将这个类添加到Qgis的地图工具类中。

2022-10-20 11:47:16 391

原创 使用CMake创建在vs上运行的QT程序

1、CMakeLists.txt文件 cmake_minimum_required(VERSION 3.5.1)project(VRGIS)注意:下面的写自己的那个文件位置set(Qt5_DIR "C:/Qt/5.15.2/msvc2019_64/lib/cmake/Qt5")set(CMAKE_INCLUDE_CURRENT_DIR ON)set(CMAKE_AUTOUIC ON)set(CMAKE_AUTOMOC ON)set(CMAKE_AUTORCC ON)set(CMAKE_CXX_STA

2022-06-20 17:41:36 2147 1

原创 实习期内容:编写一个QGIS的C++插件,用于完成WMTS的切片功能(要在vs上写出功能,然后把功能和QT的界面连接在一起,最后转到qgis上当插件)

1、QT2、qgis3、gdal4、cmake5、OGC / WMS WMTS WFS [WCS]WMTS切片pythonvs2019QT5.15.2

2022-06-15 13:48:02 1020 1

转载 WinsockIO之WSAEventSelect模型

取自朋友的笔记

2021-12-16 08:46:00 144

原创 WinsockIO之WSAAsyncSelect模式

WSAAsynSelect模型: WSAAsynSelect模型也是一个常用的异步I/O模型。应用程序可以在一个套接字上接收以 WINDOWS消息为基础的网络事件通知。该模型的实现方法是通过调用WSAAsynSelect函 数 自动将套接字设置为非阻塞模式,并向WINDOWS注册一个或多个网络时间,并提供一 个通知时使用的窗口句柄。当注册的事件发生时,对应的窗口将收到一个基于消息的通知。1.在WM_CREATE消息处理函数中,初始化Windows Socket library,创建监听套接字,绑定,监.

2021-12-15 13:29:43 777

原创 WinsockIO之select模式

1、创建fd_set集合:fd_set ReadSet;2、对集合进行初始化:FD_ZERO( &ReadSet) 把集合初始化成空队列.3、将socket放到集合中:FD_SET(pNew->SocketName, &ReadSet);4、通过select来查看是否有待决的socket:select(0, &ReadSet, NULL, NULL, NULL); select的返回值为处于待决的socket个数int WSAAPI sele...

2021-12-15 13:16:53 2411

原创 数据结构的先、中、后序遍历

typedef struct TreeNode{ int data; TreeNode * left; TreeNode * right; TreeNode * parent;}TreeNode; void pre_order(TreeNode * Node)//前序遍历递归算法{ if(Node == NULL) return; printf("%d ", Node->data);//显示节点数据,可以更改为其他操作。...

2021-12-01 10:14:54 233

原创 socket和sockaddr以及sockaddr_in

socket可视为给机器创建了一个接口,但是具体的ip地址和端口都没有;sockaddr是用来给socket命名的;如:ip等。但是它的sa_data没有详细区分,故使用更为详细的sockaddr_in。(bind函数是使用sockaddr类型来作为形参的,所以后面要将sockAddr_in创建的对象用强转变为sockaddr类型)sockaddr_in可以输入具体的端口和ip,如上图,调用bind函数时,为什么要转化sockaddr_in为sockaddr,如上面的蓝色区域。.

2021-11-21 15:53:34 1818

原创 三次握手和四次挥手(个人理解)

三次握手首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。前两次确定客户端的收发数据可以正常使用;第一次确定服务器可以正常收数据;第三次可以确定第二次成功发送数据,即可以正常发数据;四次挥手【注意】中断连接端可以是Client端,也可以是Server端。第一次挥手:Client端主动断开连接,并发送一个包含F..

2021-11-20 15:00:01 1616

原创 winsock的多线程服务器

tcp客户端// Service.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>using namespace std;#include <WinSock2.h>typedef struct { SOCKET sockClient; char szIp[16]; DWORD dwThreadName;}RecvThread;DWORD WINAPI Threa

2021-11-19 15:50:43 1496

原创 winsock的service和client端

service端// Service.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>using namespace std;#include <WinSock2.h>int main(){ WSADATA wd; if (0 != WSAStartup(MAKEWORD(2, 2), &wd)) { WSACleanup(); }

2021-11-19 09:08:48 1416 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除