QT
文章平均质量分 53
疯丶
这个作者很懒,什么都没留下…
展开
-
C++类的导入导出
一、在待导出工程中:1.对导入导出进行宏定义,编写条件编译指令,一般都是单独写在一个.h文件中,格式如下:#ifndef XX_DEFINE_H#define XX_DEFINE_H#ifdef XX_DLL#define XXAPI __declspec(dllexport)#else#define XXAPI __declspec(dllimport)#endif#end原创 2017-02-16 14:07:42 · 5842 阅读 · 0 评论 -
Qt5笔记之Qt5插件的生成与加载及json文件的读取
一、前言1. Qt Plugin按照应用场景分两种类型:(1)The High-Level API:用于扩展Qt本身的功能,需放在Qt安装目录下的指定目录里;(2)The Lower-Level API:用于扩展Qt应用程序的功能;Qt Plugin按照类型又可分为两种:动态插件(dll)和静态插件(lib);以下说的均为The Lower-Level API的动态插件。2原创 2017-09-29 09:30:41 · 5933 阅读 · 1 评论 -
Qt5笔记之QGraphicsScene QGraphicsView QGraphicsItem
1. 三者之间的关系:(1) QGraphicsScene是QGraphicsView中的场景:使用QGraphicsView::setScene()将scene加入到view中;(2) QGraphicsScene又是QGraphicsItem的容器:使用QgraphicsScene::addItem()将item加入到scene中,或addRect()之类的添加图形函数,利用这原创 2017-09-29 09:25:25 · 6285 阅读 · 0 评论 -
Qt翻译文件结合VS实现语言切换(多语言国际化)
Qt多语言国际化主要体现在界面的语言切换,语言切换的主体,即界面中需要翻译的元素,要放在“QApplication::translate()”函数内,或更方便一些的“QObject::tr()”、“QObject::trUtf8()”函数;确定了翻译的主体后,就要对这些待翻译元素进行翻译,完成翻译后会生成qm文件;当界面要切换语言时,只需要加载qm文件即可。翻译的过程主要分三步:1.原创 2017-08-04 14:50:37 · 8359 阅读 · 2 评论 -
QT+VS点击按钮弹出新窗口的实现
1.建立主工程:新建一个Qt工程作为主工程,取名为newWidgetDemo; 2.建立新窗口:project->右键->添加->类->Qt5 Classes->Qt5GuiClass->添加->给新窗口起名为myWidget->finish,这一步完成后,可以看到主工程中多了如下几项:xxx.ui、ui_xxx.h、xxx.h、xxx.cpp、moc_xxx.cpp; 3原创 2017-07-28 09:56:35 · 11334 阅读 · 4 评论 -
Qt样式表qss的两种用法
Qt的qss(样式表)使我们能够自定义控件的显示效果,令界面看起来不再单调,更具个人风格,而在VS+Qt的开发环境下,实现样式表主要有两种方式,下面以QPushButton为例介绍这两种实现方式:1.通过Qt Designer修改样式表 在VS下新建Qt工程,会自动生成一个.ui文件,用Qt Designer打开后可以拖动控件摆放,回到VS中编译,刚才摆放的控件会自动在ui_xxxx原创 2017-08-04 09:56:34 · 1807 阅读 · 0 评论 -
C++ 由Log日志输出理解回调函数
关于回调函数的概念,之前有写过(传送点),这里不再赘述。 本文结合Log日志输出,进一步理解回调函数的执行过程。 首先附上demo的可运行程序代码(下载传送点),运行环境为VS2015+Qt5.8.0,不一样的自行修改即可,旨在帮助初学者走通程序,理解过程,也不用在后文中粘大段的代码... 回调的两个主体为Test类和Log类,在Log类中定义函数指针类型:typedef v原创 2017-08-01 10:54:48 · 2626 阅读 · 0 评论 -
多Qt版本冲突导致编译异常的解决方法
在VS2015+Qt5.8.0(或VS2013+Qt5.6.2等等)中新建Qt Application项目,没有任何改动,编译依然报错如下:error MSB6006: “cmd.exe”已退出,代码为 9009解决方法如下:1.检查Qt安装目录是否添加到环境变量:VS2013+Qt5.6.2配置VS2015+Qt5.8.0配置2.在确定环境变量添加了以原创 2017-06-22 13:51:34 · 16218 阅读 · 0 评论 -
VS2015下添加Qt插件及路径配置
如何在VS2015下创建Qt5工程,必须在创建工程前将Qt5插件配置到VS2015中,本文介绍如何添加Qt5插件,以及使用插件创建Qt新项目中的路径问题。前提:1.下载安装VS2015;2.下载安装Qt5,VS2015推荐使用Qt5.8.0(下载地址:32位[Qt5.8.0]);3.下载安装连接Qt和VS的一个插件qt-vs-tools-msvc2015(下载地址:64位3原创 2017-06-22 11:48:51 · 14299 阅读 · 0 评论 -
VS2013下添加Qt插件及路径配置
如何在VS2013下创建Qt5工程,必须在创建工程前将Qt5插件配置到VS2013中,本文介绍如何添加Qt5插件,以及使用插件创建Qt新项目中的路径问题。前提:1.下载安装VS2013;2.下载安装Qt5(下载地址:);3.下载安装连接Qt和VS的一个插件qt-vs-addin(下载地址:)安装qt-vs-addin后,再次打开VS2013可以在上方菜单栏中看到原创 2017-02-20 11:17:36 · 21150 阅读 · 0 评论 -
error MSB6006: “cmd.exe”已退出,代码为1
“cmd.exe”已退出,代码为9009多为路径问题,解决方法可参考这里(链接)如果是“cmd.exe”已退出,代码为1,解决方法如下:点开项目目录Generated Files,可以看到moc_文件,将moc文件对应的.h头文件移除(注意是移除不是删除),再添加进来,会重新自动生成对应moc文件,如果Generated Files下没有moc文件,那么可以把.h头文件全部移除再添原创 2017-07-10 11:44:28 · 65489 阅读 · 5 评论 -
VS2015更改项目名称步骤
在项目开发过程中,一个比较蛋疼的事就是改名,刚开始建项目的时候没想好叫什么,随便取了个名字,开发了一大部分以后突然统一规定项目名,相信这种情况大多数人都不陌生... 本文以VS2015+Qtplugin项目为例,总结一下项目改名字的步骤(假设项目初始名为wrong,要改为right) 1、以下文件需要改名(wrong->right):.sln、.vcxproj、.filters、原创 2017-06-17 15:17:45 · 15845 阅读 · 0 评论 -
could not find or load the Qt platform plugin windows的解决方法
VS+Qt5环境下建立一个Qt工程,在本机运行没问题,可是把.exe和用到的.dll打包发到别人电脑上却运行不了,报错如下:为什么会这样?这是因为程序运行需要Qt本身的一些dll,把这些缺失的dll补上就可以了。 需要注意的是:一般遇到这个报错,是缺少plugins文件夹下的platforms和imageformats两个文件夹内的dll,但是一定不要直接把这两个文件夹下的原创 2017-05-03 10:37:18 · 36013 阅读 · 12 评论 -
QT属性表之修改属性值与输出日志的结合
QT属性表控件,使用时需要将文件位置加入附加包含目录中,同时向项目中添加8个头文件(.h)及实现(.cpp),如下图:然后会生成一堆moc文件,如下图:注意要将最下的三个的属性页中的项类型改为自定义生成工具(分别选中这三项,然后右键->属性->常规),然后自定义生成工具(右键->属性->自定义生成工具)改为对应的moc生成工具及宏,自定义生成工具对应的四项都需要修改(不会修原创 2017-03-16 11:06:01 · 2660 阅读 · 0 评论 -
QT读取位置时发生访问冲突
在VS下编写QT小程序测试各种输出时,报了一个很常见又很讨厌的错误“...读取位置...时发生访问冲突”,调试跟进也没有指针乱指、内存未分配、只读却写等问题,在已经放弃了这种输出方法换下一种时,发现UI的参数每初始化一下就会输出一次,但是原本应该是全部初始化后才输出一次的。于是回过头去看UI部分,原来是connect()的位置问题...connect()的位置很可能会导致这种访问冲突问题,当c原创 2017-03-16 10:08:19 · 10559 阅读 · 8 评论 -
C++类型重定义错误的解决方法
当我们想在.h声明中定义成员变量,有时会报类型重定义错误,如果不是工程中真的重复定义了多个同名类,那么多半是没有给该类的头文件加条件指示符#ifndef,条件指示符#ifndef 最主要的目的就是防止头文件的重复包含和编译,这样才能保证头文件被多个其他文件引用时,内部的数据不会被多次定义而造成错误。解决方法有两种:方法一:在报类型重定义的类的头文件,最上方加两行:#ifndef XXXX_原创 2017-01-20 15:50:12 · 24194 阅读 · 1 评论 -
QT5学习之复选框类QCheckBox的三态
The QCheckBox widget provides a checkboxwith a text label. Header:#include qmake:QT += widgetsInherits:QAbstractButton 复选框是一个带有文本的选择按钮,可以被打开(Checked)也可以被关闭(Unchecked)。复选框的状态变化会发射一个信号state原创 2017-01-18 10:18:59 · 16422 阅读 · 0 评论 -
error MSB6006: “cmd.exe”已退出,代码为3
“cmd.exe”已退出,代码为9009,多为路径问题,解决方法可参考这里(链接)“cmd.exe”已退出,代码为1,多为moc_文件冲突,解决方法可参考这里(链接)“cmd.exe”已退出,代码为1,如果发生在QT+VS开发环境下的工程编译,解决方法:项目右键->Convert Project to QMake Generated Project,然后重新编译即可:原创 2017-07-21 11:42:36 · 28318 阅读 · 16 评论