- 博客(199)
- 收藏
- 关注
原创 IDEA Community+Gradle+Springboot搭建
1、安装JAVA环境(1.8以上)此处略过2、配置Gradle①下载链接:https://gradle.org/next-steps/?version=7.4.1&format=allhttps://gradle.org/next-steps/?version=7.4.1&format=all此版本是本人当前最新版本,也可以到上一级链接找更多的版本。②配置下载之后解压放到E盘,然后配置环境变量<1>用户变量如图所示进行新建<2>
2022-03-15 21:33:32
2445
原创 使用PCSDK连接ABB的机械臂
项目中需要用到上位机直接操控机械臂。虽然可以通过PLC操控机械臂,但是涉及到位置校准,还是必须自己去操控机械臂。ABB只提供了.NET版本的SDK用于与机械臂的通信。为了测试我们还需要安装RobotStudio,这个软件是进行机械臂开发的软件,并且可以创建虚拟机械臂,我们在测试中只需要调通虚拟机械臂就足够了。那么这里涉及到两个部分,PCSDK和RobotStudio。1、Robot...
2019-10-30 09:44:24
4188
2
原创 西门子PLC OPC配置及开发
目录1、安装博途TIA V15.1以及SIMATIC NET V14 SP12、通过在线寻找连接PLC3、在软件上配置OPC SERVER4、在PC上配置OPC SERVER5、对博途软件上的PC STATION进行在线组态6、qt从5.11开始集成了opcua模块,但必须自己编译7、配置KepServer8、配置Qt为OpcUA客户端连接KepServer9、...
2019-10-09 15:29:22
29278
1
原创 Qt学习:将ui界面中的默认控件提升为自定义类
自定义控件在动态添加到界面时很容易,只要new就可以了。当然在MainWindow的界面中要动态添加控件还是有问题的,跟普通的窗口不一样。1、怎样在MainWindow动态插入控件普通窗口只需要new一个layout,然后将在这个layout里添加控件即可,如下: QHBoxLayout * layout = new QHBoxLayout; this->set...
2019-07-16 10:09:28
9506
5
原创 Teamviewer被商业了怎么复活,看完此文不再他求
1、Teamviewer是最好用的远程软件,没有之一。①微软自带的远程桌面没办法穿透内网;②试过AnyDesk速度感人,这种经常卡死,半个小时要重连3次的,直接卸载不要纠结,纠结就是浪费生命,一定要果断。此软件装了几天,一度告诉自己,慢点就慢点写代码需要那么快干嘛?直到今天耗了一晚上在跟这个卡顿、卡死作斗争,什么也没干成,我告诉自己,一定要复活Teamviewer,磨刀不误砍柴工,古人诚不...
2019-07-06 01:03:31
3563
2
原创 Qt使用Log4qt日志系统
1、下载log4qt项目项目地址:https://github.com/devbean/log4qt注意:log4qt网上有多个项目,比如https://sourceforge.net/projects/log4qt/(已迁移到https://github.com/MEONMedical/Log4Qt),此项目用的人多,但是多个版本下载下来测试,都编译不过去,然后才找到上面那个项目,没有问...
2019-06-11 17:27:46
2425
3
原创 QImage和QPixmap
QImage和QPixmap都是可以用于显示图片的,但是有一些不同。比如说QPixmap是与硬件关联的,而QImage是硬件独立的。硬件关联的一个特点是不可以跨线程访问。就是说QImage可以单独的用线程加载,然后在另一个线程展示,而QPixmap不可以。对这个硬件关联我没有这个概念,体会不深,但是在做图片多线程加载的时候,使用QPixmap吃了很多苦头。1、QPixmap不可以使用在子线...
2018-10-31 17:34:16
7189
5
转载 TWAIN参数设置
转自:https://blog.csdn.net/pamxy/article/details/8629213 Asynchronous Device Events 异步设备事件 CAP_DEVICEEVENT MSG_SET选择应用程序希望Twain源报告的事件; MSG_RESET返回Twain源的首选设置。 ...
2018-10-11 10:12:26
5996
原创 php框架CI(codeigniter)的自动加载与自主创建对象
CI的autoload很好用,自动创建对象,但是注意,他的对象只有一个。我们很多情况下需要生成对象,这就很麻烦。好在我们可以有一些方法来创建。下面记录一下使用library自定义类时,怎么使用自动加载或者用load的方法,以及自主生成任意多个实例的方法。1、定义符合library要求的自定义类。要定义自定义类,最好放到library,而要放到library必须将类改造成他规定的...
2018-09-28 23:21:29
2272
原创 DLL的生成与在Qt中使用
参考此文章:https://blog.csdn.net/elaine_bao/article/details/517848641、什么是静态库(.lib)静态库通常是.lib文件,在编译时从静态库中取出函数和数据,编译到exe文件中,发布软件时不需要这个.lib文件,因为需要的代码已经复制到exe文件当中。2、什么是动态库(.dll)动态库通常是.dll文件,在编译时不会将动态库中...
2018-09-04 09:06:45
366
原创 使用Tesseract-OCR识别图片中的文字并生成双层PDF
识别图片中的文字并不是很困难。如果自己训练一个文字识别的深度学习程序去识别也是可以,但是太费劲。Tesseract-OCR是一个开源的文字识别引擎,并且支持包括中文在内的多国语言。只要将语言配置上去,就可以识别对应的语言。如果是印刷字体,识别是没有问题的,几乎是100%准确识别,一般用于识别印刷体的话是不需要再另外训练的,如果要识别手写体就需要额外的训练,这部分以后有时间再研究。下面是...
2018-08-31 15:41:05
9509
2
原创 Qt学习:在Qt中使用MySQL
Qt说是自带MySQL驱动,但是连接数据库时却报错:QSqlDatabase: QMYSQL driver not loadedQSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7意思是QMSQL驱动没有加载。那么尝试加载驱动呢? QPluginLoader l...
2018-08-30 11:26:00
3002
1
原创 Qt程序开机自启动
Qt程序开发完成之后,通过自带的工具完成依赖包的添加,就可以使用了。如果要让程序开机自启动,应该将自启信息写入注册表。思路是,每次程序启动,检查是否有将自启信息写入注册表,如果没有,则写入;这样在程序第一次运行时就可以将自启信息写入注册表了。以下是实现步骤:1、写入注册表需要管理员权限如果是开发中生成并运行程序需要写入注册表时,应该以管理员权限打开QtCreator;如果是点击程序运行需要写入注册...
2018-07-03 09:42:15
9102
1
转载 How can one become part of the 1%?
How can one become part of the 1%?David Galipeau, MD student at Laval universityUpdated Jun 15, 2018 · Author has 1.7k answers and 2.1m answer viewsStudy multiple languages (3–4) . I was meeting a mas...
2018-06-26 10:59:55
274
原创 Android添加appcompat_v7包
Android的v7包是为了让android2.1以上4.0以下的项目可以支持4.0以上的界面,是一个兼容适配包。如果我们初次创建一个4.0以下的项目,他会自动去下载这个v7包。但是如果我们要将项目迁移到另一个workspace的时候,他不会自动将此依赖的库也倒进来。有2个方法添加此依赖包:1、项目右键->Android Tools->Add Sport Library...他会自动去...
2018-06-19 09:21:24
9257
3
原创 Android Studio配置及使用总结
1、下载安装Android Studio,这里就不赘述了。2、打开项目的时候卡在gradle:download https://….. 下载gradle下不下来,可以手动去下载,然后配置进去。下载地址:https://services.gradle.org/distributions/找到对应的版本下载,然后放到C:\Program Files\Android\Android Studio\gra...
2018-06-14 16:11:01
422
原创 c++程序与c#程序通过命名管道通信
最近做的项目需要在两个程序间进行通信,server端是c++(qt)写的程序,client是c#写的程序。之前使用QProcess通信已经测试通过了,不过是server和client都是用qt做的模拟,实际在c#中没办法接收到消息,现在重新用管道通信来实现。server:#include "mainwindow.h"#include "ui_mainwindow.h"HANDLE MainW...
2018-06-12 17:34:15
3096
原创 Qt学习:子线程QThread的使用
在开发过程中,碰到一些耗时的操作,如果直接在主线程里处理,UI将会出现假死的现象,甚至程序会崩溃,所以这类操作最好放在子线程当中。这里有2个对象,一个是QThread,即子线程;另一个是继承于QObject的一个类,这个是要在子线程里运行的代码片段。因为这个QObject非常基础,所以几乎所有继承于其他组件的自定义类,都间接地继承于QObject,都可以放入QThread中运行。1、首先定义一个要...
2018-05-30 22:28:26
6489
原创 远程连接服务器显示:发生身份验证错误 要求的函数不受支持
今天用远程桌面连接服务器,登录不上,发生如标题所说的错误。网上查找原因,终于解决,步骤如下:注意:问题不是出在服务器,而是出在远程桌面客户端,在微软打了补丁后,相当于限制了权限。修改要去登录服务器的那台客户端电脑就可以了。客户端操作系统:win7专业版双击“加密Oracle修正“然后重新打开远程登录客户端就可以登录了。...
2018-05-23 08:53:58
84073
4
原创 Tensorflow安装及使用总结
1、安装Python地址:https://www.python.org/downloads/release/python-352/要安装3.5.x的,安装包如下:我的系统是win7-x64-intel
2018-05-09 14:35:41
6300
1
原创 线性代数学习笔记
1、什么是线性代数(1)什么是一元线性函数:(2)线性的代数意义线性最基本意义有两条:<1>可加性(和的函数等于函数的和):<2>比例性,也叫齐次性、数乘性或均匀性(比例的函数等于函数的比例,或说自变量缩放,函数也同比例地缩放)注意,f(x) = kx+b不满足比例性,因此带b的就不称为线性函数了。总结:两条结合成一条:线性组合的函数,等于函数的线性组合。(3)n元线性齐次...
2018-04-23 09:17:17
1351
转载 What is your most powerful tip?-by Ronald Fox
What is your most powerful tip?Ronald FoxUpdated Apr 10, 2017This is not going to be a popular answer, but after months of meditation, I realized the sad truth. Nobody is going to like this but it is ...
2018-03-29 20:28:05
301
转载 What are some tips for becoming successful?-by James Altucher
What are some tips for becoming successful? James Altucher, Author, entrepreneur, podcaster, wall street investorAnswered 23h agoI tried to teach my kids how to fly a kite.To fly a kite you need a win...
2018-03-29 20:19:11
585
原创 Qt学习:内存管理(指针管理)
内存管理的主旨就是不需要的对象要及时销毁删除掉,释放掉内存占用,否则造成内存泄漏。内存泄漏指的是一个对象,已经没用了,在软件中被删除了,但是他还在内存当中存在着。但是当软件整个被关掉的时候,这些内存都会被释放掉。当前计算机配置水平,轻微的内存泄漏不会有很大的问题;如果是7*24小时运行的软件,比较需要慎重对待内存泄漏的问题,否则只要大方面没问题,小泄漏也是无伤大雅的。其他语言的自动内存管理(垃圾回...
2018-03-14 09:35:27
1221
原创 Qt学习:多页面切换
用QStackedLayout可以把多个页面放在一起,叠加起来,他会显示第一个添加进去的页面(index0)。然后通过在页面里面发送信号,QStackedLayout::setCurrentIndex可以改变当前要显示的页面的index。根据此文参数写了一个切换的例子:http://blog.csdn.net/tj807126663/article/details/33738563,在此致谢!首先...
2018-03-07 09:13:49
2177
原创 Qt学习:无边框界面的实现总结
无边框界面是每个桌面应用必备的功能。手机无边框就很好解决了,直接无边框就好了,默认是全屏的。但是桌面无边框会有很多问题,首先是不能拖动。之前看过别人的无边框实现,大部分是做成整个界面按住哪里都能拖动,感觉这样不好。另外看到大部分的代码都只实现了拖动,却没有实现标题栏。还是自己做比较好。1、无边框的实现代码 // 无边框 setWindowFlags(Qt::FramelessWind...
2018-03-06 15:59:59
5715
1
原创 Opencv学习笔记(总结)
1、加载图片 //__________加载图片______________ // 注意imread的第二个参数intflag默认是1,即原色彩,但是他可以指定多种色彩,比如0即灰色,一个彩色的图载入进去就会变成灰色 // CV_LOAD_IMAGE_UNCHANGED = -1,// 此值已被废弃 // CV_LOAD_IMAGE_GRAYSCALE = 0,// 灰...
2018-03-01 22:02:12
2007
原创 OpenCV3+Qt5安装及配置
Qt5的安装这里就不说了,只说opencv3的编译、配置到Qt5及如何使用。说明:本文参考了大神的文章:http://blog.csdn.net/sinat_36264666/article/details/73200739,在此表示感谢。本文只为记录自己的学习历程以及心得归纳总结,如果能帮到其他人也甚感欣慰。在按照本文进行配置之前,有下载opencv3.3.1安装,之后一直测试失败,寻找各种解决...
2018-02-27 16:19:23
12034
7
原创 Qt:串口通信总结
1、创建桌面程序2、在.pro添加串口支持:#增加串口支持QT += serialport3、在头文件添加串口类// 提供访问串口的功能#include <QSerialPort>// 提供系统中存在的串口信息#include <QSerialPortInfo>4、设置界面5、头文件#ifndef MAINWINDOW_H#define MAINWI...
2018-02-26 17:20:31
6136
3
原创 Qt:创建动态链接库总结(Qt5,dll)
1、DLL:创建一个dll项目一直点击下一步,直到创建完成。2、DLL:dll项目有什么不同之处?#ifndef SLD_H#define SLD_H#include "sld_global.h"#include <QDebug>class SLDSHARED_EXPORT Sld{public: Sld(); QString GetStr();};...
2018-02-26 11:04:02
4923
1
原创 Qt之:QProcess使用总结
1、主程序:初始化及设定信号槽 process = new QProcess(); connect(process,SIGNAL(started()),SLOT(started())); connect(process,SIGNAL(finished(int,QProcess::ExitStatus)),SLOT(finished())); connect...
2018-02-25 10:47:00
63148
6
原创 Qt学习笔记(总)
1、添加git版本控制版本控制忽略清单:.DS_Store*-Debug*.userdebug文件夹全部不要,可以运行时生成;.user文件包含用户配置,里面看了下还有绝对路径,这个还是不要把,在另一个地方首次打开只要配置下即可。即可生成.user文件2、创建桌面窗口应用的基类选择基类有3个,那么都有什么区别?(1)QMainWindow:提...
2018-02-01 12:00:49
1492
原创 c++学习笔记
1、helloworld#include <iostream>int main(){ std::cout << "Hello World!" << std::endl;// 以std::cout<<开始 以<< std::endl结束,中间打印出来。 //std是标准的意思c-out,读作standard-c-out ret...
2018-01-26 10:50:41
2273
原创 C#子线程向UI线程发送消息
1、定义 SynchronizationContext syncContext = null;2、注册UI线程 public Form1() { InitializeComponent(); syncContext = SynchronizationContext.Current;
2018-01-24 12:00:00
2120
原创 C#使用timer总结
1、初始化System.Timers.Timer timer = new System.Timers.Timer(5000);2、启动 private void Form1_Load(object sender, EventArgs e) { timer.Elapsed += timer_Elapsed;
2018-01-23 15:35:47
11569
1
原创 sublime text3 设置显示编码格式及行号
菜单Perference->Settings->User,在大括号里面添加 "show_encoding": true, "show_line_endings": true就可以了
2018-01-23 10:10:49
24572
2
原创 p2p穿透研究
所谓p2p就是点对点通讯。之前搜索相关文章,好多“p2p内网穿透”,想着是不是还有“外网穿透”?内网不是容易吗?外网是不是更难更高级?这里就贻笑大方了,p2p的穿透,指的就是内网(局域网)穿透。1、p2p为什么需要穿透,或者说穿透是什么?首先要理解,所有的联网设备都可以通信,不单是bs(browser-server浏览器-服务端)通信,不单是cs(client-server客户端-服务端)
2018-01-15 15:23:20
3875
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人