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

原创 一文看懂const extern static如何定义?究竟放在源文件还是头文件?
1 externextern关键字用来声明变量或者函数是一个外部变量或者外部函数,也就是说告诉编译器该变量是在其他文件中定义的,编译的时候不要报错,在链接的时候按照字符串寻址可以找到这个变量或者函数。在其他文件中使用某个文件中定义的变量。如果A.h中定义了全局变量比如int a;,那么在其他文件中的函数调用变量a的时候需要在对应头文件或者定义文件中(保证在使用这个变量前)使用extern i...
2020-03-04 13:38:27
1294
原创 关闭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
653
转载 解决《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
622
原创 解决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
51455
5
原创 Qt socket传送自定义结构体数据
简介在Socket中,数据一般是char型(一般情况下,其实最好是用uchar来传输,避免莫名其妙的错误,但用char也是可以的),而在Qt里面可以使用QByteArray,这个在QSocket里面,是一个神器,根据C++中char*数据与结构体之间的映射,可以实现结构体与QByteArray的转化!在Qt的界面中,用QLineEdit对象负责显示发送和接收的文本,对其中的数据进行读取和显示使用的数据类型都是QString;但是,在进行读写时,数据使用的形式都是char数组。简单定义一个结构体如下,
2020-07-05 22:14:27
3421
1
转载 深入理解C++在.h头文件中定义函数导致的multiple definition
问题:某个头文件中声明并定义了一个函数,然后在多个源码文件中调用该函数,编译链接时出现了该函数multiple definition问题,在头文件中添加了 #ifndef 头也不行,经过尝试发现如果将该函数的声明和定义分开到.h和.cpp文件之后问题消失,为什么不能将函数直接定义在.h文件中呢?针对该问题,抽象出如下几个问题:1头文件中只可放置函数声明,不可放置函数定义吗?以下面的程序为例:...
2020-04-19 11:28:24
11277
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
5230
3
原创 Qt creator中项目的构建配置和运行设置
使用 Qt Creator 集成开发环境构建和运行程序是一件非常简单的事情,一个按钮或者一个快捷键搞定全部,大家已经都了解了。但是,这些看起来简单的过程,背后到底发生了什么呢?点击 Qt Creator 项目模式,可以看到当前项目的配置界面:在打开具体的项目之后,Qt Creator 的项目模式才会变得可用。对于打开的项目,比如 HelloWorld 项目,可配置的内容如上图左侧显示的五大类...
2020-04-06 22:38:05
39913
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
4365
3
原创 编译利器qmake——关于makefile、make、cmake、qmake、make install
运行qmake的语法采用以下简单形式: qmake [模式] [选项] 文件qmake支持两种不同的操作模式。 在默认模式下,qmake使用项目文件中的信息来生成Makefile,但是也可以使用qmake来生成项目文件。 如果要显式设置模式,则必须在所有其他选项之前指定它。 该模式可以是以下两个值之一:-makefile:qmake输出将是一个Makefile。默认为该模式。-proj...
2020-04-06 17:32:38
3115
1
原创 qmake学习记录——常用变量
SOURCES,HEADERS告诉qmake项目包含的头文件和源文件TARGET设置生成的目标名称。如果项目文件名为hello.pro,则目标将是Windows上的hello.exe和Unix上的hello。 如果要使用其他名称,可以重新对TARGET进行设置。exists如果某个文件不存在,我们可以使用exist()函数检查文件是否存在。error我们可以使用error()函数停止...
2020-04-06 16:36:27
471
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
9037
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
288
转载 关于Qt编译库(0):静态库与动态库的区别
这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。1.什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执...
2020-04-04 18:23:58
2774
原创 关于Qt编译库(1):在子项目中编译动态库并且使用
本文演示了将一个已有的类(SalesData)编译为动态库,并且新建的项目中使用该库。对于小白用户,自己查了网上一些资料,进行了摸索,并将过程记录下来,供他人参考。1.编译为动态库1.1利用动态库模板在Qt Creator中新建项目,选择Library选择共享库后续需要输入类名,例如类名为SalesData,这个是《C++ primer》这本书中经常使用的类。。。一直点下一步,最后会...
2020-04-04 17:54:16
3886
原创 最快速度解决ubuntu系统中Qt无法输入中文
问题在ubuntu系统中常使用fcitx输入法,此时Qt5中无法输入中文。Qt5之所以无法切换fcitx的输入法是因为Qt5的库文件和插件都没有加入fcitx输入法管理工具的相关支持,如果使用ibus输入法是可以在Qt中输入中文的。但是我们也没有必要换为ibus输入法。只需要将ubuntu系统中的libfcitxplatforminputcontextplugin.so文件拷贝至Qt的 安装...
2020-04-03 18:17:51
481
原创 一文看懂Qt creator的ui文件设计及PIMPL原理
在Qt creator中,可以使用Qt Designer(Qt设计师)来快速设计界面,只需拖放就可以设计并快速浏览样式,并且可以生成代码,替代了用代码设计界面的工作。主要是生成了ui文件代替了用代码生成界面。那么这个过程是如何实现的呢?以下是个简单的例子。新建了一个项目名,类名叫HelloDialog,派生自QDialog。在对话框上添加了一个按钮和一个文本标签。如下所示:点击构建按钮会生成...
2020-04-03 00:35:51
1271
原创 深入理解JavaScript引用类型的深拷贝、浅拷贝和按值传参
对C++熟悉的同学肯定很熟悉:值和引用。比如按值传参和按引用传参,按值返回和按引用返回。那在javascript里边,变量复制以及传参时,又会是神马情况呢?不同语言之间,有些基本概念的区别还是需要细细品味的。首先明确JavaScript(ECMAScript)中的基本概念:变量包括两种:基本类型和引用类型。基本类型:Undefined,Null,Boolean,Number,String引...
2020-03-31 01:10:52
546
转载 弄懂QtCreator中qmake、构建、运行、清理都干了什么
qmake:根据之前项目指南创建的项目文件.pro,并且运行qmake生成debug或release目录,里面含有qmake后生成的Makefile,但此时还未生成.exe;构建构建mingw32-make、moc、uic等,是增量编译,只编译有变动部分,同时生成.exe,还有许多.o目标文件;重新构建把所有部分都重新编译;构建和重新构建时如果没有Makefile,会根据.pro文件等...
2020-03-28 11:03:23
2281
1
原创 C++直接初始化,拷贝初始化,调用哪个构造函数?
很多C++新手不明白直接初始化、拷贝初始化,不清楚初始化过程中使用哪个构造函数。在学习过程中,要有基本概念,并且养成正确的认识也是非常重要的。因此整理了本文。常见错误认识1:1.使用()和使用=定义对象没什么区别。(直接初始化、拷贝初始化。)2.直接初始化使用构造函数。(错,也可能使用拷贝构造函数。)3.拷贝初始化使用拷贝构造函数。(错,也能使用构造函数。)直接初始化如果有一个新对象被...
2020-03-08 22:50:35
2600
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
3860
1
原创 QML新功能——TapHandler信号处理器
TapHandler是用于触摸屏上的点击或鼠标单击的信号处理器。使用时需要导入import QtQuick 2.12举例来说,对于以前的Rectangle,如果鼠标点击时执行某代码块,一般会在该Rectangle上添加一个子对象MouseArea。在新的QML版本中可使用TapHandler。TapHandler有效敲击手势的检测取决于gesturePolicy。 默认值为DragThresh...
2020-02-26 13:17:59
1750
原创 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
3467
基于Delta并联机器人的传送带动态跟踪-邓明星
2024-03-08
视觉引导的抓取机器人控制技术的研究与开发-许凡
2024-03-08
并联Delta机器人的传送带动态抓取系统设计-邓明星
2024-03-08
Delta高速并联机器人视觉控制技术及视觉标定技术研究-张文昌
2024-03-08
工业码垛机器人示教技术的研究与改进-论文
2024-03-08
qt quick编程入门源代码-霍亚飞
2024-03-08
OpenCASCADE和Qt自制简易三维建模CAD软件-源代码
2024-03-07
汇川组态软件InoTouchPad+Setup-v0.8.6.2-20190530下载
2024-03-07
数控系统HMI组态化技术研究_马腾霄.caj
2020-04-22
基于QML的数控系统HMI开发_罗奇.caj
2020-04-22
基于西门子840Dsl的可定制机床人机界面设计_张鸶懿.caj
2020-04-21
Head First C#完全代码.rar
2020-02-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人