自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (4)
  • 收藏
  • 关注

原创 一文看懂const extern static如何定义?究竟放在源文件还是头文件?

1 externextern关键字用来声明变量或者函数是一个外部变量或者外部函数,也就是说告诉编译器该变量是在其他文件中定义的,编译的时候不要报错,在链接的时候按照字符串寻址可以找到这个变量或者函数。在其他文件中使用某个文件中定义的变量。如果A.h中定义了全局变量比如int a;,那么在其他文件中的函数调用变量a的时候需要在对应头文件或者定义文件中(保证在使用这个变量前)使用extern i...

2020-03-04 13:38:27 987

原创 关闭Qt在windows上同时生成debug和release目录

qt在windows下编译,例如选择debug模式,但是会在编译目录下生成两个目录,分别是debug和release,生成的exe放在debug目录下。进行一个简单的测试,读aaa.txt文件,把他放在跟exe同级目录下,测试代码为:QFile file_read(“aaa.txt”);3,但是如果把aaa.exe放到exe的上一级目录,也就是debug和release的同级目录,在Qt中运行,发现能够读到文件。2,把Qt的相关库考到debug目录里边,双击运行exe,发现能够正常读到。

2024-03-28 11:34:45 302

原创 QtCreator使用MSVC编译器时中文乱码

QtCreator使用MSVC编译器时中文乱码。

2024-02-20 10:38:05 391

转载 解决《UNIX网络编程》的例子daytimetcpsrv:bind error:Address already in use

1.问题描述本人在阅读《UNIX网络编程》中,发现运行书中服务器端程序时,返回bind error:Address already in use!服务器端代码如下:#include "unp.h"#include <time.h>intmain(int argc, char **argv){ int listenfd, connfd; socklen_t len; struct sockaddr_in s

2020-08-12 19:30:44 535

原创 解决qt.qpa.plugin: Could not find the Qt platform plugin “xcb“ in ““

目录结构如下,在运行目录下边有plugins目录,plugins目录下边有platforms目录,文件如下。运行时报错如下。根据经验,一般是由于库找不到造成的。使用ldd查看可执行程序,发现各个库都能找到。后来发现把plugins下边的platforms目录,复制到运行目录的根目录,就可以成功。但上图的目录结构,不管如何设定LD_LIBRARY_PATH都不起作用。后来设定了如下环境变量,成功。Qt帮助:All Qt programs automatically support a set

2020-07-13 22:01:20 41981 3

原创 Qt socket传送自定义结构体数据

简介在Socket中,数据一般是char型(一般情况下,其实最好是用uchar来传输,避免莫名其妙的错误,但用char也是可以的),而在Qt里面可以使用QByteArray,这个在QSocket里面,是一个神器,根据C++中char*数据与结构体之间的映射,可以实现结构体与QByteArray的转化!在Qt的界面中,用QLineEdit对象负责显示发送和接收的文本,对其中的数据进行读取和显示使用的数据类型都是QString;但是,在进行读写时,数据使用的形式都是char数组。简单定义一个结构体如下,

2020-07-05 22:14:27 3025 1

转载 深入理解C++在.h头文件中定义函数导致的multiple definition

问题:某个头文件中声明并定义了一个函数,然后在多个源码文件中调用该函数,编译链接时出现了该函数multiple definition问题,在头文件中添加了 #ifndef 头也不行,经过尝试发现如果将该函数的声明和定义分开到.h和.cpp文件之后问题消失,为什么不能将函数直接定义在.h文件中呢?针对该问题,抽象出如下几个问题:1头文件中只可放置函数声明,不可放置函数定义吗?以下面的程序为例:...

2020-04-19 11:28:24 6080 2

转载 彻底理解C++在.h头文件中定义变量导致 multiple definition

说明:出现这个错误,请你先检查重复定义的变量是否是定义在了.h头文件中,如果是,请您耐心的看完这篇文章,他会告诉你错误的根本原因。如果你很着急,不想弄清楚原因,请直接按下面的方法更改:假设重复定义的变量是int a,且你定义在了b.h,想作为全局变量使用,那么:1.删除b.h中的int a2.在b.cpp中加入a的定义int a;3.在b.h中加入 extern int a;4.在要使...

2020-04-19 11:19:07 2852 1

原创 Qt creator中项目的构建配置和运行设置

使用 Qt Creator 集成开发环境构建和运行程序是一件非常简单的事情,一个按钮或者一个快捷键搞定全部,大家已经都了解了。但是,这些看起来简单的过程,背后到底发生了什么呢?点击 Qt Creator 项目模式,可以看到当前项目的配置界面:在打开具体的项目之后,Qt Creator 的项目模式才会变得可用。对于打开的项目,比如 HelloWorld 项目,可配置的内容如上图左侧显示的五大类...

2020-04-06 22:38:05 30254 1

原创 Qt中qmake的INSTALLS变量将编译文件拷到运行目录

找了好久都没有找到很清晰的说明。特地记录一下。下是qml-material.git项目的工程配置文件内容:TEMPLATE = libTARGET = materialCONFIG += c++11QT += qml quickandroid { QT += androidextras svg xml}HEADERS += plugin.h \ ...

2020-04-06 22:27:39 3842 3

原创 编译利器qmake——关于makefile、make、cmake、qmake、make install

运行qmake的语法采用以下简单形式: qmake [模式] [选项] 文件qmake支持两种不同的操作模式。 在默认模式下,qmake使用项目文件中的信息来生成Makefile,但是也可以使用qmake来生成项目文件。 如果要显式设置模式,则必须在所有其他选项之前指定它。 该模式可以是以下两个值之一:-makefile:qmake输出将是一个Makefile。默认为该模式。-proj...

2020-04-06 17:32:38 2047 1

原创 qmake学习记录——常用变量

SOURCES,HEADERS告诉qmake项目包含的头文件和源文件TARGET设置生成的目标名称。如果项目文件名为hello.pro,则目标将是Windows上的hello.exe和Unix上的hello。 如果要使用其他名称,可以重新对TARGET进行设置。exists如果某个文件不存在,我们可以使用exist()函数检查文件是否存在。error我们可以使用error()函数停止...

2020-04-06 16:36:27 381 1

原创 快速解决qmake编译错误:could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory

使用qmake编译试时,出现错误:qmake: could not exec ‘/usr/lib/x86_64-linux-gnu/qt4/bin/qmake’: No such file or directory需要修改如下文件内容/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf文件里面第一行内容为默认的编译器。修改该...

2020-04-06 15:14:23 7448 5

转载 Qt的QString与stl的string之间互相转化

因为QString和string的转化出现问题,在此进行记录。QString qstr;string str;str = qstr.toStdString();qstr = QString::fromStdString(str);虽然成功转化了,但是会出现乱码。转化与乱码处理std::string cstr;QString qstring;//从std::string 到QSt...

2020-04-04 18:39:17 247

转载 关于Qt编译库(0):静态库与动态库的区别

这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。1.什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执...

2020-04-04 18:23:58 2185

原创 关于Qt编译库(1):在子项目中编译动态库并且使用

本文演示了将一个已有的类(SalesData)编译为动态库,并且新建的项目中使用该库。对于小白用户,自己查了网上一些资料,进行了摸索,并将过程记录下来,供他人参考。1.编译为动态库1.1利用动态库模板在Qt Creator中新建项目,选择Library选择共享库后续需要输入类名,例如类名为SalesData,这个是《C++ primer》这本书中经常使用的类。。。一直点下一步,最后会...

2020-04-04 17:54:16 3092

原创 最快速度解决ubuntu系统中Qt无法输入中文

问题在ubuntu系统中常使用fcitx输入法,此时Qt5中无法输入中文。Qt5之所以无法切换fcitx的输入法是因为Qt5的库文件和插件都没有加入fcitx输入法管理工具的相关支持,如果使用ibus输入法是可以在Qt中输入中文的。但是我们也没有必要换为ibus输入法。只需要将ubuntu系统中的libfcitxplatforminputcontextplugin.so文件拷贝至Qt的 安装...

2020-04-03 18:17:51 415

原创 一文看懂Qt creator的ui文件设计及PIMPL原理

在Qt creator中,可以使用Qt Designer(Qt设计师)来快速设计界面,只需拖放就可以设计并快速浏览样式,并且可以生成代码,替代了用代码设计界面的工作。主要是生成了ui文件代替了用代码生成界面。那么这个过程是如何实现的呢?以下是个简单的例子。新建了一个项目名,类名叫HelloDialog,派生自QDialog。在对话框上添加了一个按钮和一个文本标签。如下所示:点击构建按钮会生成...

2020-04-03 00:35:51 1001

原创 深入理解JavaScript引用类型的深拷贝、浅拷贝和按值传参

对C++熟悉的同学肯定很熟悉:值和引用。比如按值传参和按引用传参,按值返回和按引用返回。那在javascript里边,变量复制以及传参时,又会是神马情况呢?不同语言之间,有些基本概念的区别还是需要细细品味的。首先明确JavaScript(ECMAScript)中的基本概念:变量包括两种:基本类型和引用类型。基本类型:Undefined,Null,Boolean,Number,String引...

2020-03-31 01:10:52 443

转载 弄懂QtCreator中qmake、构建、运行、清理都干了什么

qmake:根据之前项目指南创建的项目文件.pro,并且运行qmake生成debug或release目录,里面含有qmake后生成的Makefile,但此时还未生成.exe;构建构建mingw32-make、moc、uic等,是增量编译,只编译有变动部分,同时生成.exe,还有许多.o目标文件;重新构建把所有部分都重新编译;构建和重新构建时如果没有Makefile,会根据.pro文件等...

2020-03-28 11:03:23 1980 1

原创 C++直接初始化,拷贝初始化,调用哪个构造函数?

很多C++新手不明白直接初始化、拷贝初始化,不清楚初始化过程中使用哪个构造函数。在学习过程中,要有基本概念,并且养成正确的认识也是非常重要的。因此整理了本文。常见错误认识1:1.使用()和使用=定义对象没什么区别。(直接初始化、拷贝初始化。)2.直接初始化使用构造函数。(错,也可能使用拷贝构造函数。)3.拷贝初始化使用拷贝构造函数。(错,也能使用构造函数。)直接初始化如果有一个新对象被...

2020-03-08 22:50:35 2077 3

原创 QML组件的访问以及修改视图delegate的属性

1.访问通过QML文件定义的组件2.访问通过Loader定义的组件3.访问视图委托中的组件以下代码视图企图访问ListView视图的委托中的组件,是无法成功的。import QtQuick 2.12import QtQuick.Window 2.12import QtQuick.Controls 2.4Window { visible: true width: 64...

2020-02-26 21:33:37 2973

原创 QML新功能——TapHandler信号处理器

TapHandler是用于触摸屏上的点击或鼠标单击的信号处理器。使用时需要导入import QtQuick 2.12举例来说,对于以前的Rectangle,如果鼠标点击时执行某代码块,一般会在该Rectangle上添加一个子对象MouseArea。在新的QML版本中可使用TapHandler。TapHandler有效敲击手势的检测取决于gesturePolicy。 默认值为DragThresh...

2020-02-26 13:17:59 1467

原创 QML新功能——自定义枚举

1自定义枚举5.10中允许在QML中自定义枚举值,可以使用关键字enum来定义。方式如下:qml文件名:MainItem.qmlimport QtQuick 2.11import QtQuick.Controls 2.4Rectangle { id: root visible: true width: 1000 height: 800 enum...

2020-02-26 12:13:48 2931

基于Delta并联机器人的传送带动态跟踪-邓明星

主要以Delta并联机器人为研究对象,通过视觉系统定位物体的位姿,再结合传送带编码器的位置反馈信息,计算出物体在机器人坐标系下面的实时位姿。 结果表明,机器人在位置模式下,通过改进后的PID算法,能预测传送带上物体的位姿,并实时调整自身移动速度和末端位姿来跟踪传送带上的物体,最终实现对目标的动态跟踪抓取。

2024-03-08

视觉引导的抓取机器人控制技术的研究与开发-许凡

本文主要研究内容包括: 视觉引导的抓取机器人系统建模。 SCARA机器人的轨迹跟踪控制。 视觉引导SCARA抓取机器人系统动态目标抓取方法的研究。 设计了一种“视觉系统+SCARA机器人+传送带”的动态目标跟踪方法,通过工业智能相机连续获取目标工件位置,结合传送带测速编码器位置反馈,并实时规划SCARA机器人运动轨迹,以完成随传送带一起运动的目标工件的动态抓取。

2024-03-08

并联Delta机器人的传送带动态抓取系统设计-邓明星

本文主要以并联Delta机器人为研究对象。 首先介绍国内外工业机器人的发展状况;接着分析了Delta机器人的运动学正逆解,传送带标定、相机标定;然后提出了PID跟踪算法和改进的跟踪算法;再者给出了Conveyor Administor的软件设计流程图,并解决了其中几个关键问题:目标物体的筛选、排序、位置状态更新、多机器人协同作业。 本文的核心内容之一是机器人对运动在传送带上的物体的动态跟踪,通过视觉检测系统定位物体的位姿,再结合传送带编码器反馈的位置数据,计算出物体在机器人坐标系下面的实时位姿。

2024-03-08

Delta高速并联机器人视觉控制技术及视觉标定技术研究-张文昌

本文密切结合自动化生产线高速轻载搬运作业需求,研究基于视觉的机器人控制技术、现场快速标定技术,以及机器人-视觉系统与生产线传送带的标定技术,开发具备视觉引导功能的少自由度高速包装机器人,将研究成果用于提高Delta机器人精度和抓取准确性。

2024-03-08

工业码垛机器人示教技术的研究与改进-论文

对工业码垛机器人示教再现技术进行了研究与改进, 提出了一种新的示教再现方法; 按照文中所述方法, 任一货物在码放过程中, 码垛轨迹只有一点需要经过示教获得, 其余三点均可根据货物参数获得; 所建立的示教再现方法原理简单明了、 过程灵活精确、 结果简洁高效。

2024-03-08

OpenCASCADE和Qt自制简易三维建模CAD软件-源代码

本示例开发环境: Windows 7 操作系统 Open CASCADE 7.3.0 Qt 5.9.0(Qt Creator 4.3.0) Visual Studio 2015 (MSVC14) 具有功能: 三维显示界面, 可以用鼠标进行操作,旋转,缩放,平移等。 可以画立方体,球,圆柱,圆环,圆锥等 可以鼠标选择物体并进行高亮 可以用ASSIMP导入和导出,是以三角片的数据形式

2024-03-07

汇川组态软件InoTouchPad+Setup-v0.8.6.2-20190530下载

这是汇川技术 InoTouch 系列 HMI 编程组态软件,采用 Windows Visual Studio风格,功能强大,简单易用。可以用本软件编写hmi界面,运行于PC或者嵌入式设备上边。

2024-03-07

数控系统HMI组态化技术研究_马腾霄.caj

本文搭建了数控组态平台,并利用组态平台进行了数控界面的开发,将所开发的界面部署于机床运行并进行零件的加工。同时进行了组态数控界面与传统界面在开发与运行过程中的相关技术指标的对比,证实本文所研究的组态化技术可以满足数控界面开发与运行的要求,界面的开发效率也有了大幅的提升。

2020-04-22

基于QML的数控系统HMI开发_罗奇.caj

华中8型人机界面设计出了HNC848型数控系统的HMI框架,并实现了各窗口之间的消息响应。实现了程序编辑界面的逻辑功能并解决了关键字高亮显示。通过对QT自带的组件编程软件的深入调研,实现了数控系统人机界面的组件式编程,为组态软件的开发提供了理论基础。

2020-04-22

基于西门子840Dsl的可定制机床人机界面设计_张鸶懿.caj

本文提出了一种基于西门子840Dsl的可定制机床人机界面系统设计方案,包括该人机界面系统的构建方法、体系结构和关键技术。然后,根据系统的构建方法和体系结构,研究了基于西门子840Dsl的可定制机床人机界面关键技术

2020-04-21

Head First C#完全代码.rar

head first C#源代码,内容详尽,配合书籍学习很有帮助。 Head First 特点为“深入浅出”,它强调以特殊的方式排版,由大量的图片和有趣的内容组合构成,

2020-02-27

空空如也

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

TA关注的人

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