4 liji_digital

尚未进行身份认证

暂无相关描述

等级
博文 135
排名 1w+

QDockWidget使用示例(一)

来源:《Qt5开发及实例》(第二版),有改动启用dockWidget的步骤如下:1new一个QDockWidget,其父类一般是一个QMainWindow2setFeatures3setAllowedAreas4setWidget5addDockWidget#include"dockwindows.h"#include<QTextEdit&gt...

2019-06-22 14:51:29

横向墨卡托坐标系

译自http://wiki.gis.com/wiki/index.php/Transverse_Mercator_projection横向墨卡托投影由墨卡托投影改造而来。不论是横向投影还是墨卡托投影,都是圆柱变换,且是保角变换。然而,在横向墨卡托投影中,外切圆柱体相对于赤道转动了90度。所以,投影是以某条经线为中心,而不是以赤道为中心。这条中心经线是由投影地图的绘制者选定的。基于横向墨卡托投影...

2019-06-02 16:23:08

GitHub push 失败:"Permission denied(publickey) ... remote end hung up unexpectedly"解决办法

今天在向GitHub上传一个新的repository时发生问题,push命令失败,错误是“Permissiondenied(publickey)...remoteendhungupunexpectedly”。查阅了http://www.aobosir.com/blog/2016/12/25/git-add-ssh-key-solution-permission-denied-public...

2019-05-26 15:37:18

QVector使用示例

本文以实例形式介绍QVector::insert()QVector::remove()函数的使用方法。源代码:#include"mainwindow.h"#include"ui_mainwindow.h"#include<QDebug>MainWindow::MainWindow(QWidget*parent):QMainWindow(par...

2019-05-18 16:38:12

UDP通信实例(4) --组播模式下,利用SO_REUSEADDR实现两个套接字占用同一个端口

众所周知,一个IP提供65536个端口。假如某个端口被一个套接字占用,其他套接字就不能再占用这个端口了。但是根据https://blog.csdn.net/fz835304205/article/details/16980163/的描述,在UDP组播模式下,利用SO_REUSEADDR可以实现两个不同的套接字使用同一个端口。以下是代码实例:main.cpp#include"main...

2019-05-10 21:24:06

类的继承以及虚函数

考虑如下情形:我需要定义一个基类CTemplate给同事使用,而且这个基类被封装为dll库。同事可以选择在他的项目里直接使用我的类。但是这个类有一个函数,名为iOperation(intx,inty),作用是计算两个输入变量,x,y的和。同事可能会对成员函数iOperation()的功能不满意,想重新定义iOperation(intx,inty)的功能,变成求乘积x*y。于是他可以选择...

2019-04-16 22:37:33

对listen第二个参数的理解,及示例(windows版)

本文受了https://blog.csdn.net/yangbodong22011/article/details/60399728的启发对tcp的三次握手,我也不太明白。但是阐述listen函数的第二个参数的意义,可以用一个简单的例子来解释,用不到三次握手的知识:长话短说。tcp服务器好比是一个机关单位,单位的领导好比是accept函数,只有accept函数返回了值,才算是客户端与服务...

2019-03-11 22:29:22

如何启动和终止线程的思考

QT提供了QThread类来实现多线程编程。QThread::terminate()用来结束子线程。假如调用terminate()后,子线程不是立刻停止,程序员还可以调用QThread::wait()等待子线程结束,才进行后面的操作。在以前的项目里,我经常使用terminate+wait的组合来结束线程。但是前几天发现,这样的组合并非总能成功:子线程有时不能及时结束,造成主线程也卡在wait(...

2019-03-01 22:01:05

UDP通信实例(3)--组播回环

按照https://blog.csdn.net/lucky_greenegg/article/details/84938565的说法,结合https://docs.microsoft.com/zh-cn/windows/desktop/WinSock/ip-multicast-2的描述,TheWinsockversionoftheIP_MULTICAST_LOOPoption...

2019-02-25 22:26:28

UDP通信实例(2)--组播初探

UDP组播要注意两点:1)组播收发两端的端口号要一致;2)加入组播的套接字必须绑定IP地址INADDR_ANY,而不是所在计算机的具体IP,否则会有问题。下面给一个例子,是从https://www.cnblogs.com/jingliming/p/4477264.html参考改编来的,结合Qt的线程类,把组播放入子线程处理。代码在ubuntu平台下测试,能正常接收数据。头文件:#...

2019-02-24 19:00:52

UDP通信实例(1)--不使用bind函数

前几天处理一个关于UDP的项目,同一个程序里要使用两个UDP通信的套接字。我原计划分别使用2个QT的QUDPSocket类,结果发现使用两个QUDPSocket,造成其中一个QUDPSocket不能正常通信。所以只好用C++原生的网络通信函数结合QThread完成UDP通信。从这件事之后,我意识到网络通信最好的选择是采用原生C++函数。从这篇博客开始,我将针对UDP通信给出编程实例,供大家参考。...

2019-02-21 20:39:36

QT的自动滚动区QScrollArea的用法,图文详解

转自https://blog.csdn.net/qq_31073871/article/details/83117430QScrollArea属于控件容器类,可以直接在ui中拖出来。对于QScrollArea,最难搞懂的就是:如何控制它,才能让它在我们想要出现滚动条的时候出现滚动条。我们拖入一个QScrollArea,再向他里面拖入4个button,观察信息如下:可以发现...

2019-02-12 10:28:56

scanf使用时要注意的2点

scanf用来在命令输入数据。数据可以是字符,整型,字符串等等。但是,1)假如在一个程序里多次使用scanf,那么每一次使用之后,要紧跟使用getchar()函数,否则后面的scanf会不正常;2)使用scanf时,要注明其输入的数据类型,否则数据也不能被程序正确解析。下面是一个正常的程序://tmplate.cpp:Definestheentrypointfortheco...

2019-02-05 18:14:08

MFC下利用setsockopt设置超时

tcp的recv函数默认是阻塞的,就是说,假如程序运行到了recv函数处,但是tcp没有收到数据,则程序会卡在recv这里,直到收到数据为止。一、看下面的例子://tcp_setsockopt.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include<W...

2019-01-27 22:26:09

ubuntu12.04 + qt5.6.1安装qwt6.1.2

上一篇博客介绍了在ubuntu上安装qt5.6.1的过程。这一篇博文接着上篇,描述如何安装qwt6.1.2本文参考了https://blog.csdn.net/u013457167/article/details/802945801从https://sourceforge.net/projects/qwt/files/qwt/6.1.2/下载qwt源代码2解压后,拷贝到/usr/...

2018-12-22 15:31:58

ubuntu12.04 安装 qt5.6.1

1首先在ubuntu命令行输入uname-a,检查操作系统版本。假如输出带有x86_64字样,说明操作系统是64位。2从qt官网下载qt安装文件3执行命令sudochmod+xqt-opensource-linux-x64-5.6.1.run4 运行安装程序,一路点是即可sudo./qt-opensource-linux-x64-5.6.1.ru...

2018-12-22 14:15:38

安装git 与 TortoiseGit

本文介绍在Win10系统上安装Git和TortoiseGit,以达成对代码的版本控制能力本文参考了https://blog.csdn.net/renfufei/article/details/416479371从https://git-scm.com/downloads下载git安装程序。如果嫌速度慢,可以从腾讯的软件中心下载;从https://download.tortoiseg...

2018-12-19 21:09:16

首次尝试QtChart--绘制折线图

从qt5.7开始,qt将qtchart开源。以后画柱状图、折线图可以不必使用qwt之类的第三方库。下面给出一个例子。直接上代码:pro:#-------------------------------------------------##ProjectcreatedbyQtCreator2018-12-15T23:36:20##--------------------...

2018-12-16 16:36:02

利用GDAL保存bmp格式的灰度图(一)

GDAL是处理地理信息的有力工具。从这篇博客开始,我分3篇来介绍如何利用GDAL来保存bmp格式的灰度图。第一篇是一个最简单的例子:从TCP端接收数据,然后通过GDAL保存为本地的bmp灰度文件。这个例子有个缺点:GDAL要求数据每行字节数被4整除,这个程序没有对这个要求加保护措施。这个问题将在第二篇里修正。1)准备数据在photoshop里新建一个灰度文件,文件的宽度应该是4的倍数(...

2018-12-04 13:28:49

利用GDAL保存bmp格式的灰度图(二)

接着上一篇。假如灰度图的宽度不是4的整数倍,如何将这样的图片保存到本地bmp文件中?下图是一个宽度447的图片 这个447x340的图像不能像上一篇那样保存为bmp,因为photoshop会自动在bmp文件里补齐4字节,保证图片满足bmp格式要求。所以我将这个图片保存为raw格式,并且在格式开头增加8字节(也就是两个int型变量):第一个变量的含义是图片的宽度。也就是447;第二个变量的...

2018-12-04 13:28:28
奖章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。