开发技术
仟人斩
这个作者很懒,什么都没留下…
展开
-
基于QT的可视化信号生成Dock
效果展示最近有一个生成不同信号类型的可视化需求,基于qt实现,效果如下:实现方式在qt中新建一个dock,会出现3个文件,分别时h,cpp,ui。在ui中绘制界面,包括下拉框和tab页,在每个tab页中绘制各自需要的控件。下拉框和tab页切换相互绑定void QSignalGenerator::on_tabWidget_currentChanged(int index){ ui->comboBox_type->setCurrentIndex(index);}void原创 2021-04-13 23:30:24 · 281 阅读 · 0 评论 -
Qt中显示多路连续Halcon格式图像
定义显示这些图像的多个qt控件和halcon的窗口句柄。QWidget *m_Widgets[CONST_CAMNUM];HTuple m_HalconWnd[CONST_CAMNUM];重载主界面的尺寸改变事件,可以使halcon窗口和控件保持大小一致。virtual void resizeEvent(QResizeEvent * event);void MainWindow::resizeEvent(QResizeEvent *event){ QWidget::resizeEven原创 2021-01-24 08:53:30 · 293 阅读 · 0 评论 -
图拓扑关系可视化的qt实现——有向图
原来写过一篇博客,是图拓扑关系可视化的qt实现,这里面是无向图,后来需求升级,改为了有向图。改动的思路主要是在连接节点时记住哪个节点先点,哪个节点后点,同时用二维数组记录节点连接状态。上一篇无向图的博客下面有人在求源码,但笔者在博客中已经把工程基于的Qt Demo和具体改动的地方都写出来了,还是有人不愿意花时间去调试,上来就要源码。笔者遇到问题也看一些别人写的技术博客,一般都是按照博客内容先尝试复现一遍,如果最后由于自己能力问题和或者作者没有表述清楚的问题实在调不通才会去麻烦作者。因此笔者在此给看到这原创 2020-06-30 23:20:05 · 3271 阅读 · 0 评论 -
基于QcustomPlot的2D航迹图
前言数据可视化相关的文章:图结构的可视化:链接树结构的可视化:链接实时曲线图:本文介绍使用QcustomPlot实时2D航迹图,实现功能有添加航迹,删除航迹,设置线宽和颜色等。实现效果代码实现:该绘图方法使用qcustomplot,定义一个继承自QcustomPlot的类QTrack2D曲线管理在类中,使用一个map管理各条曲线QMap<QString, QPoint...原创 2020-04-02 08:55:52 · 1783 阅读 · 1 评论 -
基于QCustomPlot的实时曲线图
实时曲线图的qt实现(基于QCustomPlot)前言接上篇,上篇写到图结构的可视化,这一篇介绍实时曲线图。实现效果代码实现该绘图方法使用QCustomPlot,定义一个继承自QCustomPlot的类Qcurve。曲线管理在类中,使用一个map管理各条曲线QMap<QString, QPointer<QCPGraph>> mGraph;图例显示:在...原创 2020-04-02 08:52:35 · 4791 阅读 · 2 评论 -
图拓扑关系可视化的qt实现
前言最近在做数据可视化的相关工作,包括曲线图,航迹图,图结构,树结构等。其中树结构相关的工作笔者以前曾经做过,可以参考笔者以前的博客。qt自定义树形控件之一和qt自定义树形控件之二,当时还用数据库对树结构进行持久化。所以这几天的重心在图结构和曲线图上。本文主要介绍图结构的可视化,后续做曲线图进行介绍。实现效果代码实现关于图结构的可视化,qt自带一个例子,叫做Elastic Nodes E...原创 2020-04-01 22:50:43 · 7657 阅读 · 5 评论 -
API激光跟踪仪SDK基础使用
需要添加的头文件#include "APISDK/include/apidevice.h"激光跟踪仪的连接激光跟踪仪的连接需要知道设备的IP地址,然后以该IP地址为参数,调用函数进行激光跟踪仪的连接。从line_edit中读取ip地址,然后作为参数传入到Connect函数中。char add[20];LPTSTR addr;sprintf_s(add, ui->lineEdi...原创 2019-11-23 14:56:57 · 3111 阅读 · 2 评论 -
LinkTrack UWB定位系统NLink协议解析方法
LinkTrack UWB简介LinkTrack UWB是集定位,授时,通信于一体的模块,功能上可以类比北斗卫星定位系统。但是该模块的定位功能和通信功能不同同时使用,取决于模块配置的模式。LinkTrack使用一套自定义的NLink协议,关于NLink协议的具体内容,可以查看NLink协议手册,并且模块提供了NlinkUnpack示例解析代码。该示例解析代码只对完整的一帧数据进行解析,而不会从...原创 2019-11-06 15:52:00 · 5506 阅读 · 6 评论 -
Android APP 开发技术阶段总结(三)
Android sqlite数据库的查询sqlite数据库底层封装public class MyOpenHelper extends SQLiteOpenHelper{ private static final String name = "mydb.db"; //数据库名称 private static final Integer version = 1; @O...原创 2019-06-01 10:52:38 · 420 阅读 · 0 评论 -
Android APP 开发技术阶段总结
最近在做Android APP的开发,对用到的开发技术做一个总结。大量结构化数据的展示:可以使用RecyclerViewadaper实现。结构化数据可以用一个类封装起来,作为构造构造adapter的数据来源。public class RecyclerViewDepartmentAdapter extends RecyclerView.Adapter<RecyclerViewDepa...原创 2019-05-23 13:59:35 · 1145 阅读 · 0 评论 -
simulink和c++间通信
最近在做一个小型项目,需要在c++中调用simulink,于是对这一开发技术进行了调研。下面是三种实现方式,理论上来说,三种方法都是可以实现预期的效果,但是开发难度和使用难度等各不相同。方法1:使用mcc命令使用mcc命令,把m文件编译转为h,lib,dll文件,(暂时还没有调通,猜测是因为路径配置的原因)仿真模型编写编写一个仿真文件,只有一个正弦信号发送器和一个scope。m文件控制...原创 2019-05-23 13:26:24 · 5929 阅读 · 6 评论 -
Qt中操作excel
最近有一个把检测结果导出到excel中的任务,由于对qt比较熟悉,所以打算使用qt来实现。查了一下,使用qt下自带的QAxObject类,实现还是比较简单的。首先需要在pro文件中添加axcontainerQT += core gui axcontainer然后添加包含文件#include <QAxObject>如下是代码的具体实现:void MainWin...原创 2019-05-24 20:15:41 · 7195 阅读 · 1 评论 -
Android studio项目中使用JNI调用opencv的c++程序
前言opencv虽然有java版本,但是对于轮廓,点等数据结构和c++版本不一样,这给移植带来了大量的工作量。好在java有JNI(Java Native Interface)可以调用c++函数。本文主要介绍如何在安卓手机APP项目中调用用c++写的通过opencv处理图像的算法。使用的开发IDE是Android studio。准备工作首先新建c++支持的手机项目。然后参考https:/...原创 2018-10-11 15:35:03 · 4656 阅读 · 11 评论 -
Android应用的两种设计模式
MVC模式 针对简单的应用,可以使用模式-视图-控制器(Model-View-Controller,MVC)的架构进行设计。在这种设计模式下,应用中的任何对象,都属于模型对象,视图对象或者控制器对象中的一种。 模型对象存储着应用的数据和业务逻辑。模型类通常用来映射与应用相关的一些事物,如用户、商店里的商品、服务器上的图片或者一段电视节目,抑或GeoQuiz应用里的地理知识问题。模型对象不关...原创 2018-11-03 12:41:07 · 339 阅读 · 0 评论 -
Android应用开发使用数据库的数据模型示例
背景 几乎所有应用都有持久化保存数据的需要。临时性存储savedInstanceState显然无法胜任。为此,Android提供了长期存储地:手机或平板设备闪存上的本地文件系统。 Android设备上的应用都有一个沙盒目录。将文件保存在沙盒中,可阻止其他应用甚至是设备用户的访问和窥探。(当然,如果设备被root了的话,用户就可以为所欲为。)应用的沙盒目录是/data/data/[应用的包名...原创 2018-11-03 12:52:22 · 1212 阅读 · 0 评论 -
qt界面程序数据模型使用MYSQL数据库保存
背景在包含大量数据的PC应用程序中,结构化数据的保存最好交给数据库。对于只有少量数据的PC应用程序,考虑到将来的扩展和代码的简洁,仍然可以使用数据库的方式,不过在部署和维护阶段会比较复杂。https://blog.csdn.net/iamqianrenzhan/article/details/83686196 ,本文继承了原来写的一篇在Android应用中使用数据库的文章,使用了一样的数据模型...原创 2018-11-30 21:02:35 · 2090 阅读 · 0 评论 -
QT和cmake工程中实现c++调用python具体实现,环境配置以及常见问题
前言由于python高度的封装性和易用性,类似于matlab语言,在算法开发过程中比其他语言有更大的优势。但是在图像处理算开发中,笔者认为还是python比matlab更加简单。笔者在学习数字图像处理过程中,最先接触到的便是开源的视觉图像库opencv。在笔者早期开发图像处理算法过程中,通常是使用c++版本的opencv处理图像,得到需要的特征,然后把这些特征保存成txt,在matlab中绘...原创 2019-01-16 23:00:42 · 3698 阅读 · 2 评论 -
Windows系统使用mingw编译环境
为什么要使用mingw在笔者开发软件的过程中,逐渐总结了一些对初学者可能很有用并且少走弯路的经验。今天就来说一下编译器的选择。编译器就是把人类容易读懂的高级程序语言(c,c++,java,python)翻译为低级程序语言的工具。每种编程语言都有其编译器,有的语言在不同的操作系统上还有不同的编译器。其中c/c++是使用很广泛的语言,也是笔者在开发过程中经常用到的语言。由于最近的项目都是需求在不...原创 2019-03-09 11:14:14 · 1411 阅读 · 0 评论 -
灰点工业网口相机多相机同时使用
最近对灰点的工业网口相机进行了调试,最终目标是要实现多相机的同时采集。使用工业网口相机第一步要安装相机的SDK:包含spinnaker软件包和pyhton扩展。这个软件包不好下载,可以去下载上传的版本,下载地址稍后上传。第二步是配置网卡地址:安装readme中的提示配置就可以,如果使用多个网口,需要配置到不同的网段。在Windows系统下成功实现了配置2个网段的网口分别采集2路相机,总...原创 2019-05-06 21:07:16 · 4881 阅读 · 4 评论 -
Qt中实现悬浮窗口
前言在做应用软件的时候,经常会用到悬浮窗口。当把鼠标指到某一个控件上时,自动出现一个悬浮窗口。本文就来讲一下悬浮窗口如何实现。本文打算利用label控件和一个只有textedit的widget实现这一功能。具体描述就是,当把鼠标移动到label上方时,只有一个textEdit的widget会出现,当把鼠标移开时,这个widget会隐藏。label控件实现首先label控件自身没有判断鼠标是...原创 2019-05-19 09:07:18 · 19848 阅读 · 3 评论 -
使用libxl库读取excel文件
前言在程序中读取excel文件比如XLS和XLSX,方法有很多,比如ADO,OLE,ODBC等方式。但是这些方法要么依赖于平台,要么读取速度慢,有的甚至需要电脑本身装有excel程序。 但是有一个付费的商业软件库Libxl,属于轻量化的读取工具,读取速度可以,且不依赖于平台,可在windows,mac,linux上使用。这个软件可以免费使用,但是一次加载限制操作300个单元,并且第一行不能进...原创 2018-07-11 23:38:14 · 13857 阅读 · 8 评论