自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (11)
  • 问答 (1)
  • 收藏
  • 关注

原创 qt+vs版本迁移问题

从网上下载qt5.7+vs2013编写的项目使用qt5.8+vs2015打开项目发现编译出错,下面开始进行分析。 1.打开项目会发现输出中有提示:正在升级项目“XXX”...配置“Debug|Win32”: 将平台工具集更改为“v140”(之前为“v120”)。配置“Release|Win32”: 无法升级,因为此平台不受此 Visual Studio 版本支持。编译项目出...

2019-02-14 19:09:04 1291

转载 Qt程序打包发布方法(使用官方提供的windeployqt工具)

Qt程序打包发布方法(使用官方提供的windeployqt工具)转自:http://tieba.baidu.com/p/3730103947?qq-pf-to=pcqq.group Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。因此 Qt 官方开发环境里自带了一个工具:...

2018-11-29 17:53:32 425

原创 函数重载与函数重写

重载规则1 函数名相同2 参数个数不同,参数的类型不同,参数顺序不同(需要注意的是参数个数相同但顺序不同也满足重载要求)3 返回值类型,不作为重载的标准匹配规则1.严格匹配,找到则调用2.通过隐式转换寻求一个匹配(如果这个参数通过隐式转换可以匹配多个函数(比如把下面的void print(int a)函数去掉,调用print(5),它可以通过隐式转换匹配参数为double类型和参...

2018-11-06 15:59:50 1532

原创 c++实现信号槽机制

#include <iostream>#include <vector>template<typename... Args>class Slot_Base{public: virtual void emitSignal(Args...) = 0; virtual ~Slot_Base(){}};template<type...

2018-09-30 10:06:58 875

原创 PathView的用法

pathView的使用类似与ListView,都需要模型(model)和代理(delegate),只不过pathView多了一个路径(path)属性,顾名思义路径就是item滑动的路径. 区别与listView的是pathView可以分别设置item的属性不想listView一样每个item的样子都差不多.上个图就能很清晰地看到区别了,下面图片中item绕着z轴旋转了所以字体变卷了 下面给出

2017-11-16 20:54:21 4735

原创 qml页面切换动画效果

添加qml文件AnimationItem.qml 以下是AnimationItem.qml文件内容这里写代码片 import QtQuick 2.0Item { id: root property bool show: false property real showPropertyChangeOpacity: 1 property real showProper

2017-11-15 19:43:11 3342

原创 Qt pro文件解析

1.TEMPLATE TEMPLATE变量定义了工程的编译模式,它可以为:app、lib、subdirs默认编译模式为app TEMPLATE = app TEMPLATE = subdirs表示该工程是由多级目录管理(即有一个或多个子工程) TEMPLATE = lib表示库,该工程编译后会产生一个库文件 2. TARGET:生成目标的名字 如TARGET = qtApp,如果工程的编

2017-11-13 21:00:12 322

原创 FTP客服端编程(ftp协议指令编程)

先上图第一步应该做的就是搭建服务器,或者下载简易ftp服务器。如果不知道怎么在主机上搭建ftp服务器上篇文章中有详细解说。ftp客户端的实现大致是这么几个流程:ftp客户端需要两个tcpSocket,一个tcpSock负责给服务器发送指令、接受服务器的响应信息,另一个dataSock用来接收下载数据,或是接收服务器文件名列表数据1.客户端使用tcpSock连接服务器。f

2017-09-15 11:46:54 1120 2

原创 win10构建ftp服务器

打开控制面板-->选择程序-->在程序和功能选项中选择启用或关闭Windows功能,然后你就能看到在控制面板中点击系统和安全--->管理工具--->这时找到Internet Information Services (IIS)管理器---->点进去后出现页面右击网站选中添加FTP站点,然后自定义站点名称,选中物理路径点击下一步后绑定IP地

2017-09-07 21:57:30 562

原创 Qt使用Boost库的配置

boost库我就不花时间说了,下面会给出一个编译好了的boost库在Qt中引用Boost库在项目文件*.pro中添加路径信息,includepath是编译器找寻包含文件/头文件的额外默认路径。当需要使用外部的一些驱动库的时候,需要将其绝对路径或相对路径添加到这里。

2017-08-28 11:48:25 2903

原创 把图片的某种颜色改为透明

我先讲解下怎么把图片中指定的某种颜色修改成我们想要的颜色。具体流程很简单,在qt中有一个函数可以获取图片中的颜色表(即所有颜色),所有颜色存储在QVector里面,然后更具QVector里面的颜色表修改图片中的某种颜色。示例代码如下:QImage image(":/image/pix.png");//根据x,y提取像素点的RgbQRgb rgb = image.pixel(image...

2017-08-17 22:29:14 2944

原创 qt拼图游戏

 拼图游戏效果图#ifndef WIDGET_H#define WIDGET_H#include &lt;QMainWindow&gt;#include &lt;QMenuBar&gt;#include &lt;QFrame&gt;class Frame;enum Level{ noLevel = 0, low = 1, mid = 2,...

2017-08-09 19:48:53 2867

原创 A*算法-路径规划

照着A*算法的原理自己用代码实现了下,虽然基本的功能都实现了,不过在实际运用上还有很多可以改善的地方,趁着刚学会A*算法整理下自己的思路。借用热心分享知识的网友图片大致讲解下A*算法的实现过程。其中绿色方块表示起点,红色方块表示终点,蓝色方块表示障碍物。本篇文章格子只能上、下、左、右移动寻路步骤:1.从起点开始,把它作为一个待处理的方格加入到 ”开启列表” 中,(本人把方格抽象为一...

2017-08-02 22:31:03 19671 13

原创 漫水填充算法

漫水填充算法是填充算法中最通用的算法。所谓漫水填充算法,是给定一个联通域内的一个点,以此为起点找到这个联通域的其余所有点并将其填充为指定颜色的一种算法。 之所以称之为漫水填充,是因为这种算法就是模拟了涨水的过程,从一点开始,水流慢慢加大,直到漫过了全部区域。该填充算法的原型如下所示:void cvFloodFill (IplImage *img, CvPoint seedPoint,...

2017-07-26 11:09:29 730

原创 腐蚀与膨胀示例代码

如果想知道腐蚀、膨胀算法原理请看上篇原图片图像:原图片腐蚀后的图像膨胀后的图像:#include &lt;opencv/cv.h&gt;#include &lt;opencv/highgui.h&gt;int main(){ cvNamedWindow("images", 1); IplImage *src = cvLoadImage("F:/...

2017-07-25 20:31:10 893

原创 图像的腐蚀与膨胀算法原理

结构元素:设两幅图像X、B,若X是被处理对象,B是用来处理X的,那么则把B称为结构元素。腐蚀:用结构元素B腐蚀X,过程如下:1.用结构元素B扫描图像X的所有像素点(以B的原点为坐标,对应A的各个像素点进行扫描),用结构元素B与X覆盖的二值X图像做 “与”操作。2.如果结构元素B为黑色的点,图像A相对应的点都为黑色,则该点的像素为黑色,否则为白色。腐蚀的结果使得原来的图像缩小一圈

2017-07-25 16:08:25 18323 3

原创 B样曲线的绘制代码

B样曲线绘制代码。头文件中vector分别储存着控制点和B样曲线的点#ifndef WIDGET_H#define WIDGET_H#include &lt;QWidget&gt;#include &lt;QMouseEvent&gt;#include &lt;iostream&gt;#include &lt;cmath&gt;using namespace std;...

2017-07-20 15:40:58 941

原创 B样条曲线的绘制

给定n+1个控制点Pi(i=0,1,2,3...,n),n次B样条曲线的参数表达式为:

2017-07-20 12:22:38 3974

原创 opencv平滑图像

#include &lt;opencv/cv.h&gt;#include &lt;opencv/highgui.h&gt;int main(){ //加载文件图片 IplImage *image = cvLoadImage("C:\\Users\\zhp\\Pictures\\Camera Roll\\tree.jpg"); //创建变化之前的的窗口 cvN...

2017-07-17 09:36:19 309

原创 opencv视频播放控制

cvCreateTrackbar()要实现在视频播放时进行快速移动,通过添加滚动条实现,在opencv中调用cvCreateTrackbar()就能创建滚动条,通过设置参数可以确定滚动条所属窗口。#include &lt;opencv/cv.h&gt;#include &lt;opencv/highgui.h&gt;using namespace std;//滚动条slide...

2017-07-15 16:59:32 608

原创 opencv播放视频

使用OpenCV播放视频跟使用它来显示图片一样容易。播放视频其实只需要循环顺序读取视频的每一帧,然后把每一帧顺序显示就可以了#include &lt;opencv/cv.h&gt;#include &lt;opencv/highgui.h&gt;using namespace std;int main(){ //创建窗口,窗口标题为test,参数为0窗口大小则可手动调整 ...

2017-07-15 15:10:11 686

原创 OpenCV 2.4.9+vs2013的配置

1.首先下载opencv-2.4.9.exe,运行后将源码安装到指定位置2.设置系统环境变量如果你是Win10系统的话,打开文件资源管理器,然后右键此电脑-&gt;属性-&gt;选择高级系统设置-&gt;点击环境变量-&gt;在系统变量中找到Path,然后双击把D:\opencv\build\x86\vc12\bin添加进去就行了,特别提醒,前面要加英文的;号,否则无效。 ...

2017-07-15 12:46:57 403

原创 qml定时器示例

效果是红色图形每隔一秒移动一次,循环在窗口绕圈圈头文件,qml文件要加入到资源文件哦#ifndef WIDGET_H#define WIDGET_H#include &lt;QWidget&gt;#include &lt;QQuickWidget&gt;#include &lt;QQmlContext&gt;class Widget : public QWidget{...

2017-07-14 10:35:39 1011

原创 qml与c++的简单实例,Connections信号连接

#ifndef WIDGET_H#define WIDGET_H#include &lt;QWidget&gt;#include &lt;QQuickWidget&gt;#include &lt;QQmlContext&gt;class Widget : public QWidget{ Q_OBJECT Q_PROPERTY(int _width READ r...

2017-07-13 21:42:49 4840 1

原创 qml与C++的交互

简单说下我自己对qml与c++的交互的理解流程:1.界面交互,很多新手可能会写qt界面或者qml界面,但想要把qml与c++结合起来就一脸蒙逼了。首先我提供个简单的方法实现qml和c++的界面交互,首先引入几个重要的头文件,当然在项目文件中需要加QT+= quickwidgets才能引用以下头文件#include &lt;QQuickWidget&gt;#include &lt;QQu...

2017-07-11 21:45:01 544

原创 qml按钮样式设计,把样式写成组件

通过Button的style属性可以设置按钮的样式如下:style: ButtonStyle { //进行对Button的样式设置 background: Rectangle { //设置圆角 radius: 5; color: "red" ...

2017-07-10 18:16:34 5166

原创 qml颜色渐变

import QtQuick 2.5import QtQuick.Window 2.2Window { visible: true width: 640 height: 480 title: qsTr("Hello World") Rectangle { width: 500 height: 400 ...

2017-07-10 17:26:51 3228

原创 Qt quick 按钮控件及其样式设置

在编写qml文档如果想要使用Button控件就必须在文件头部添加:import QtQuick.Controls 1.4如果想要设置Button的样式则需要在文件头部添加:import QtQuick.Controls.Styles 1.4import QtQuick 2.5import QtQuick.Window 2.2import QtQuick.Controls 1.4...

2017-07-10 16:42:54 4646 1

原创 qml实现滚动条

Window { id: root visible: true width: 500 height: 500 color: "#535353" Rectangle{ id: dst //(0,0) } ListView{ id: view anchors.fill:...

2017-07-07 22:16:04 6239

原创 文本框的设置

QLineEdit *findItem = new QLineEdit;//设置对象名称findItem->setObjectName("findItem");//设置文本框的默认内容findItem->setPlaceholderText("设备信息");//设置文本框字体的对齐方式findItem->setAlignment(Qt::AlignCenter);

2017-07-06 16:37:12 485

原创 进度条,进度条对话框,QProgressBar类

#include &lt;QWidget&gt;#include &lt;QLabel&gt;#include &lt;QLineEdit&gt;#include &lt;QComboBox&gt;#include &lt;QProgressBar&gt;#include &lt;QDialog&gt;#include &lt;QPushButton&gt;class Progr

2017-01-23 18:26:18 487

原创 仿qq界面的抽屉类QToolBox

#include &lt;QWidget&gt;#include &lt;QToolBox&gt;#include &lt;QToolButton&gt;class Drawer : public QToolBox{ Q_OBJECTpublic: Drawer(QWidget *parent = 0); ~Drawer();};//源文件#in...

2017-01-23 16:22:28 1193

原创 各种弹出对话框的使用

//头文件#ifndef DIALOG_H#define DIALOG_H#include &lt;QDialog&gt;#include &lt;QPushButton&gt;#include &lt;QLineEdit&gt;#include &lt;QFrame&gt;class Dialog : public QDialog{ Q_OBJECTpublic...

2017-01-23 11:51:18 329

原创 页面切换使用堆栈窗体

//头文件#include &lt;QWidget&gt;#include &lt;QListWidget&gt;#include &lt;QStackedWidget&gt;#include &lt;QLabel&gt;class Widget : public QWidget{ Q_OBJECTpublic: Widget(QWidget *parent...

2017-01-21 21:19:25 406

原创 QList、QVector、QMap容器类

QList&lt;QString&gt; list;创建一个列表对象,存储一列QString类型的值list&lt;&lt;str&lt;&lt;str1&lt;&lt;str2通过操作符 "&lt;&lt;" 将字符串存储在该列表中函数QList::append(const T&amp;value)在列表末尾插入值QList&lt;QString&gt; list;list.

2016-12-08 15:39:39 4692

原创 字符串QString基础知识

1.QString提供了一个二元的 "+" 操作符用于组合两个字符串,并且提供了一个 "+=" 的操作符用于将一个字符串追加到另一个字符串的末尾,列如:QString str1 = "Welcome ";str1 = str1+"to you "; //str1 = "Welcome to you";QString str2 = "hellow ";str2 += "

2016-12-08 10:30:58 7004

原创 实现简单的天气预报功能

//头文件Widget.h#include &lt;QWidget&gt;#include &lt;QLabel&gt;#include &lt;QNetworkRequest&gt;#include &lt;QGroupBox&gt;#include &lt;QPixmap&gt;#include &lt;QComboBox&gt;#include &lt;QNetworkAcc...

2016-11-25 20:12:51 1833

原创 在QTableWidget表格里面设置文本文件数据

// 加载文件void Widget::loadFile(){ //创建文件对象,个人理解为就是info.txt文本 QFile file("C:\\Users\\Administrator\\Documents\\TableView\\info.txt"); //设置文件打开模式 file.open(QIODevice::ReadOnly|QIODevice...

2016-11-19 14:47:20 2645

原创 QLabel的样式设置

发声法

2016-11-16 22:19:39 8995

原创 实现文本查找功能可以用QTextCursor

QTextCursor是文本光标下面是查找功能代码:void Widget::findBtnClicked(){ bool found = false; //想要查找的信息 QString Info = lineEdit-&gt;text(); //获取文本文档 QTextDocument *document = textEdit-&gt;doc...

2016-11-16 10:39:59 3181

简单的AStar算法Demo

使用AStar算法实现了一个简单的demo,亲测可用,代码不多流程简单,一看就会

2018-11-29

FTP客户端编程

ftp客户端编程,可下载,可上传,可遍历ftp服务器文件列表,讲解ftp指令编程操作,花了不少时间所以资源分高了点

2017-09-15

FTP数据交互

本程序实现了往ftp服务器传送数据和从服务器中下载文件。坑爹的资源传送。在来一次资源传送失败我就得吐血了

2017-09-07

Boost程序库开发教程

Boost程序库开发指南,需要用到boost库的童鞋不要错过,很不错的一本书

2017-08-28

编译好的Boost库

编译好的boost库需要了解Qt配置或教程的可以去我博客页面下载

2017-08-28

自选图片的拼图游戏

自选图片进行分割完成拼图功能

2017-08-10

拼图游戏,QT实现,学C++的可以参考下原理

自行选择图片进行分割,实现拼图功能,自行选择图片进行分割,实现拼图功能,自行选择图片进行分割,实现拼图功能

2017-08-09

拼图,游戏

自行选择图片进行分割,实现拼图功能

2017-08-09

俄罗斯方块源码,方块为彩色

俄罗斯方块源码

2017-07-10

扫雷代码,分为初级、中级、高级

简单的扫雷源码,适合初学者参考

2017-07-10

中国象棋的代码实现

简单实现象棋的走棋吃子

2017-07-10

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

TA关注的人

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