自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

沙师弟专栏

当你的才华还撑不起你的野心时,那你就应该静下心来学习。

原创 Qt窗口永久置顶

1、pro文件中调用Windows提供库:LIBS += -lUser322、引用头文件#include "Windows.h"3、定义QTimerQTimer *m_timer;4、核心代码:m_timer = new QTimer();m_timer->start(1000); //程序每隔1秒置顶一次connect(m_timer,&...

2016-09-27 18:02:03 3709 9

原创 Qt中创建并运用动态链接库(共享库)的示例

1、先创建一个共享库的项目sharedlibrary。sharedlibrary.pro: #------------------------------------------------- # # Project created by QtCreator shazhenyu # #-------------------------------------------

2016-09-27 17:24:26 4691

原创 Qt在Windows上设置应用程序信息Demo

本篇文章可以结合着我写的这篇文章一起读:http://blog.csdn.net/u014597198/article/details/52672445在Windows上:我们随便编一个Release的程序,准备发布时都会发现程序的应用程序信息都是空的所以,我们添加resource.rc到项目当中。最好用一个文件记录配置信息,

2016-09-27 17:08:00 2973 2

原创 QWidget中update不执行paintEvent解决方案

在QWidget中,如果遇到调用它的update时,不执行paintEvent情况。多半是这几种情况:1、update是disabled2、此widget是hide的3、设置了QWidget的setAttribute(Qt::WA_TranslucentBackground,true);属性会引起很多刷新问题解决方案:如果你没有禁用update,那么就是没有show出来...

2016-09-27 16:39:24 7061 7

原创 Qt的信号与槽你可能不知道的那些

说到信号与槽,这是Qt独有的特点。1、应该知道的:一般用信号和槽都会用到:signals和slotsQt4用法:    connect(sender, SIGNAL(signal), receiver, SLOT(slot));Qt5用法:    connect(sender, &Sender::signal, receiver, &Receiver::slot);

2016-09-27 16:23:44 3850

原创 Qt下常用的数值计算(绝对值qAbs,最大qMax,最小qMin,开根号Sqrt,N次方是pow,断言宏Q_ASSERT和Q_ASSERT_X )

TqAbs(constT &value)Comparesvalue to the 0 of type T and returns the absolute value. Thus if T isdouble, thenvalue is compared to(double) 0.Example: int absoluteValue; int myVa

2016-09-27 14:18:02 21075

原创 Qt中多pro与多pri合作编程

pri文件跟pro文件没有本质区别,都是起到包含路径等作用,区别在于pro文件是主要文件,pri是附属文件。要是项目相对来说比较复杂,比如多平台开发时,需要用到多pri与pro共同合作,当然也可以编辑成静态库或者动态库的形式,现在讲一下如何实现多pri。一个pro可以包含多个pri,例如:include(win32.pri)include(macx.pri)include(

2016-09-27 11:31:12 4267 3

原创 Qt添加系统的资源文件(Window系统的RC文件等)

资源文件:Windows上是RC文件,Ios和Osx上是plist文件,Android上是xml文件,linux上是普通文件(Linux可以说就是一个文件系统)。其实这些都是不同样式的资源文件,所以,这里准备一个公共宏,具体哪个系统再具体区分就好了。这些资源文件目的就是为了方便项目中的资源统一管理,例如我们在Window上,通常会用到RC资源文件,为exe设置详细信息,其中包括:文件说明、产...

2016-09-26 18:09:45 1870

原创 Qt用VS添加RC文件(及Qt-VS-Addin插件使用方法)

 环境: Qt版本:5.5.1 VS版本:Microsoft Visual Studio2013 Qt-Addin版本:qt-vs-addin-1.2.5利用vs的原因是VS本身是微软的产品,而用他家的平台改他家的文件当然是最好的选择了。如果很熟悉RC文件的话,也可以自己创建,这里讲的是懒人之道,不用记。如果环境配置正确的话,VS上会有一个Qt5的标志,就像这样...

2016-09-23 14:14:20 2774

原创 QML国际化方法

和Qt提供的国际化方法很相像:1、在pro文件中增加想要生成的语言文件的ts文件,例如(languageEng.ts)2、在项目文件夹(带pro的文件夹)内,按住Shift+鼠标右键->选择“在此处打开命令窗口”3、输入:lupdate 你的项目名.pro4、完成(如果你出现的是命令不存在,请注意将Qt的bin目录添加到环境变量中。如果此时Qt更新了数目,说明ts...

2016-09-23 12:04:42 3379

原创 解决SDK代理服务器在国内不能更新下载问题

SDK代理方式有几种:1、无界代理2、GoAgent代理3、镜像代理(推荐)一般情况下,我还是使用第三种方式,比较普遍,比较靠谱。第三种方式是这样子使用的:1、第一步(找到设置)2、第二步(输入镜像名称和端口号,笔者采用的是中国科学院开源协会镜像站地址mirrors.opencas.cn,端口号80)这些做完,清理sdk缓存,重启sdk就可以

2016-09-23 11:27:50 5121

原创 QImage和QPixmap小区别

如果单纯的show出来一张图片,不做操作,选用QPixmap效率高一些,如果带操作,使用QImage吧~ QImage是与设备无关,QPixmap是与设备相关 QPixmap是专门为了绘图而产生的,而QImage是为了修改图片上的像素或者修改图片效果而设计的。 一般图片大的情况下,用QImage进行加载,然后转乘QPixmap用户绘制。QPixmap绘制效果是最好的。 

2016-09-22 18:19:58 2688

原创 用Q_PROPERTY增加Qt现有类的属性和方法

改变现有类,比如你要用到一个类的pos、size等。然后Qt提供的这个类没有提供对应方法,我们改怎么办呢?QT的帮助文档中这样写道:应用实例:       用Qt的Graphics体系的朋友们可能会发现这个问题,Qt的QGraphicsItem和QGraphicsObject两个类的动画属性中,只有opacity这个动画,却没有geometry动画属性。而geome

2016-09-22 18:17:08 2114

原创 Qt用QProcess调用exe的简单方法

Qt调用exe的简单方法:1、找到exe的路径(注意,路径最好全是英文,无空格)2、调用此exe简单启动:QProcess pro;1、带参数(参数具体意义请百度)pro.startDetached("A.exe", QStringList()2、不带参数pro.startDetached("A.exe", QStringList());简单

2016-09-22 17:27:57 9072

原创 Qt的半透明方法总结

如果是QWidget,可以重写了它的void paintEvent(QPaintEvent *);事件如果是QGraphics,可以重写它的void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);事件如果是QML,可以直接设置颜色的rgba值方法一:(适合自己绘画的图...

2016-09-22 17:15:47 12228

原创 Qt信号与槽之查看信号来源qobject_cast<类型*>(sender())

核心:qobject_cast(sender());当我们同时有很多信号链接到一个槽中A *btn = qobject_cast(sender());这样我们就能查看A类的哪一个对象发出了信号。实际应用:    connect(m_penButton, SIGNAL(sigStateChange(int)), this, SLOT(onCenterClicked(i

2016-09-22 17:03:59 6486

原创 QML transform与rotation的对比Demo

最近做了一个QML中transform与rotation的效果对比,分享给大家。效果如图:代码如下:import QtQuick 2.4import QtQuick.Window 2.2Window { id:mainRoot visible: true width: 800 height: 400 Rectangle { ...

2016-09-22 16:49:01 3797

原创 QML简单动画Behavior代替复杂代码

事先要先熟悉Behavior,就不会陷入复杂困境。今天做Demo有缩短代码的方法,如下:原动画代码:采用Behavior后:Behavior在处理简单动画的速率上显然要快很多~...

2016-09-22 16:33:08 1156

原创 QML在做一个可移动的Rectangle的Demo

import QtQuick 2.4import QtQuick.Window 2.2Window { id:mainRoot visible: true flags: Qt.FramelessWindowHint property real mouseXTMP: 0 property real mouseYTMP: 0 Mouse...

2016-09-20 17:57:03 2065

原创 QML遮罩效果Demo

先看一下做的Demo效果:代码:import QtQuick 2.3import QtQuick.Window 2.2import QtGraphicalEffects 1.0Window { visible: true Item { width: parent.width height: parent.height ...

2016-09-20 17:43:30 1946

原创 QML自定义鼠标样式

鼠标样式,大致分为两种。一种是Qt提供的系统样式的鼠标;另一种是自定义样式,由自己准备图片。Qt5.6提供的鼠标宏及样式:我做了两个demo:Demo1、调用Qt提供的鼠标样式的宏。Demo2、自定义鼠标样式,定义鼠标为一个笔的图片。...

2016-09-20 17:19:03 1849 2

原创 用QCameraInfo获取摄像头名称示例

QCameraInfo是这篇文章的主角。看一下Qt对它的定义:我们再看看Qt的例子中如何进行摄像头名称处理的,我截了图:Qt可以实现这个功能,很好,我们在增加完库和头文件之后,开始自己做例子。核心代码如下:进行优化:效果:

2016-09-20 15:23:22 5844 1

原创 在Qt中利用window下的DirectShow获取摄像头名称示例

DirectShow是微软公司提供的一套在Windows平台上进行流媒体处理的开发包。Windows系统通过DirectX来创建多媒体编程接口。Demo制作环境:Qt5.6.0、DirectShow、Opencv2.4.11Demo如下:1、pro中添加必要库的路径:2、我的DirectShow库放在lib目录下:3、在引用的文件中添加指定头文件:

2016-09-20 15:16:14 4168 4

原创 Windows上简单调用QCamera摄像头Demo

QCamera在Qt版本不断更新时,它也在逐渐完善,现在在Qt5.6中已经很不错了,下面我来讲下我的这个小示例:1、在pro文件中添加媒体库2、头文件:3、源文件:4、添加ui文件。看下目前的效果:现在简单的示例已经做完,如果有不同要求,可以根据具体情况定夺。还要说的是发布时要注意添加这个文件夹哦,

2016-09-20 14:23:02 6170 18

原创 Qt在Windows上简单调用opencv摄像头Demo

OpenCV也和Qt一样,有很多版本。有各种平台版本,Android、ios、Windows、Linux等。同样在Windows上,也分vc10、vc11、vc12版。做一个简单的demo,用Qt调用opencv摄像头接口显示当前摄像头画面并拍照。开发环境:操作系统版本:Windows7sp1 64位Qt版本:5.3.2 msvc2010 32bitopencv版本:2.4.1...

2016-09-14 17:27:07 2379

原创 UML 开发之 单例模式的简单使用(QML调用C++)

这里举一个QML调用C++的例子:1、头文件2、源文件3、调用4、QML引用其实,在QML中调用图片并不用这么麻烦的事情,上面是为了讲解QML中调用C++单例模式举得简单例子。像QML中调用C++单例模式还是很常用的手段,必须要学会哟~QML调用网页上的图片只需要添加网址即可,例如:...

2016-09-14 15:28:35 1560

原创 QML中绘图(1、Canvas 2、QPainter与QML结合)

QML中的Canvas和HTML5中Canvas是一样的,可以参考W3CSchool中的学习方法:HTML 5 Canvas 参考手册画线、删除线、删除全部实例:不过,QML中的Canvas不够强大,画线会卡。我们用QPainter来实现画线,用QML来显示就好了,方式如下:1、先做好QPainter画线,做我们的类ALPaintedItem:(1)头文件...

2016-09-05 09:07:06 11838 3

原创 QML会眨眼的流星雨制作Demo

源码我放到这里了:http://download.csdn.net/detail/u014597198/9620169”会眨眼的星星“,其实这里就是用到QML中的粒子效果来制作的。 事先要准备一颗白色的小星星,我们通过QML来自定义星星的颜色、数量等1、首先,我们会用到这个方法:ParticleSystem(直译:粒子系统),它有我们最熟知的6个方法:2、然后我们要用到...

2016-09-05 09:06:31 3148

原创 QML中自制滑动条

其实不想自己做,可以用ScrollView,不过QML这个控件在某些情况会出现一些问题,所以,自制的滑动条要好一些,也好控制。代码如下,可以根据具体使用情况进行修改import QtQuick 2.5Rectangle{ id:scrollbarRoot color: "transparent" state: "hide" property...

2016-09-05 09:06:05 2273

原创 QML中引用全局枚举类型

首先要学会在QML中引用C++类,我们先用一个最快的方法:-------------------------------------------------------------------------------------在main函数中加入 qmlRegisterType&lt;ALCommonParameter&gt;("CommonParameter",1,...

2016-09-05 09:05:38 2903

原创 QML中ListView的使用以及上拉下拉效果的制作

ListView是QML中经常使用的,Qt帮助中给了我们这样一个基本的例子: 这个例子给了我们一个很明显的实现思路,就是在ListView的model属性中实现模型类,再在delegate中做模型的显示形式。做一个简单的例子:上面两个Rectangle分别是下拉和上拉。我们做了一个方法来改变listModel中的数据,再在listView中增加数据,利用...

2016-09-05 09:05:00 2317

原创 QML的输入框隐藏光标

对于这件事的解决方案简单方法是光标设置透明,也可以用Delegate TextInput{ id:m_textInput maximumLength: 1 anchors.fill: parent cursorDelegate: cursor focus: ...

2016-09-05 09:04:45 1578

原创 QML中PinchArea实现简单的缩放和旋转

这里很简单,就直接贴代码了:通过target来指定想要旋转和缩放的对象。maximumScale指定最大缩放倍数,同理其他属性也比较简单就能实现缩放和旋转。...

2016-09-05 09:04:31 1707

原创 QML的KeyNavigation快速切换焦点

看帮助文档:示例:这个方法很简单的切换焦点。且上下左右只需定义两个就会自动匹配到四个。定义上相当于定义了下,定义左相当于定义了右。相反同理哟,这样我们可以快速切换焦点了...

2016-09-05 09:04:07 2673 9

原创 Qt中QML和QWidget的PropertyAnimation类

1、QWidget的QPropertyAnimation渐隐动画显隐是动画效果里比较常见的,一定要学会哟。A、一般显隐动画:虽然说QWidget没有opacity属性,但是却有windowOpacity属性。上代码:#include &lt;QPropertyAnimation&gt;QPropertyAnimation *m_animation;m_animatio...

2016-09-05 09:03:54 1690

原创 QML中组件Component和装载Loader的使用

在我们不止一次重复同一个图元时通常使用组件来帮助我们完成需求QML中的组件为Component ,帮助文档这样描述:如果要使用组件,我们通常使用Loader这个装载器,帮助文档中这样描述Loader:举个简单例子,我们创建了一个名为textComponent 的组件:我们就在装载器Loader中这样使用它,和它自带的方法setCon...

2016-09-05 09:03:26 8571

原创 QML用Q_INVOKABLE调用C++的方法

举个例子来陈述这个问题:1、写一个C++方法class A: public B{ Q_OBJECTpublic: A(QQuickItem *parent = 0); ~A(); Q_INVOKABLE void init(); //注意这里我们用到了Q_INVOKABLE这个宏}2、注册这个类 qmlRegisterTy...

2016-09-05 09:02:45 1617

原创 QML中使用随机数

讲述两种情况下的随机数选择:1、在每次打开QML时创建一个随机数,此时是一种情况2、在一个QML中多次产生随机数,这是第二种情况第一种情况,直接创建:第二种情况,通过定时器重新设置:...

2016-09-05 09:02:17 2508

原创 QML打开指定网址(两种方式)

讲述两种方式:1、在Text的text中加入的链接(HTML)在QML中的Text中,让部分或者全部文字加载一个链接怎么搞,如下图:在text属性设置链接之后,再在她的onLinkActivated:中加入openUrlExternally(link)此时的link是自动加亮变斜体的既然Text的text属性中可以嵌入HTML,那么我们是否可以类推其他控件呢?...

2016-09-05 09:01:25 2220

原创 QML中Text、Image适配

QML中Text适配Qt帮助文档中对行高度的设置这样写:于是我们用这两个属性来改变行的间距这里的行间距默认是parent.height/16.0,这样显示效果是没有间距的。如果我们改成parent.height/10.0的话,我们就改变了行间距的大小,显示效果看到了行间距。自动换行非常简单,只需设置Text.WordWrap就OK了设置属性为换行的文字文...

2016-09-02 15:12:55 8213

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