自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Qt Graphics View Framework(1)---简单使用

简介本次主要涉及一下3个类 1. QGraphicsView:显示图形的窗口。 2. QGraphicsScene:用于绘制的画布,一切的绘制和时间都发生在画布上,QGraphicsView用于展示QGraphicsScene,如果画布大于QGraphicsView的尺寸,窗口会自动创建滚动条。 3. QGraphicsItem:在QGraphicsScene上展示的item。QGraphic

2016-11-30 20:30:53 774

原创 C++ 排序算法(1)---冒泡,选择,插入

今天来写点算法,就当是复习了。 冒泡,选择,插入这三个算法效率都挺一般的,但思想接近,所以放在一起写。冒泡算法运行时间稳定,时间复杂度 O(n^2),非常简单粗暴,当然效率也不高。这里不多讲。void BubbleSort(int a[], int n){ for (int i = 0; i < n; i++) for (int j = 1; j < n - i; j++

2016-11-29 15:23:16 1241

原创 Qt---实现一组可拖动按钮

直接上代码 self-contained.h#ifndef SELFCONTAINED_H#define SELFCONTAINED_H#include <QWidget>#include <QPainter>#include <QTimer>#include <QImage>#include <QMouseEvent>#include <QVector>#endif // SELFC

2016-11-28 21:00:42 8200 9

原创 Qt中对图片中的颜色进行修改

由Qimage的colorTable方法获得图片中全部的颜色,然后找到你要更换的颜色,把颜色的编号交给setColor方法就可以了,具体请看qt的文档。QImage image(":/image//image/contacts.png");QRgb rgb = image.pixel(image.width()/2,image.height()/2);QVector<QRgb> rgbVecto

2016-11-27 19:06:25 15010 6

原创 STL线程 std::thread

这个例子很好理解#include <thread>#include <windows.h>using namespace std;void fun1(){ cout << "fun1:" << GetCurrentThreadId() << endl;}void fun2(int parameter){ cout << "fun2:" << GetCurrentThread

2016-11-24 20:09:52 1595

原创 C++与设计模式(13)——中介者模式

用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。中介者模式的意义现在在我们的程序中有很多共同工作的类: 假如它们之间互相关联,在这样的情况下,如果要修改B类,那么也会对ACD类产生影响,而对于中介者模式: 可以修改任意一个类而只对中介类产生影响。 这就是中介者模式的意义:将一个复杂的网状的类的结构转换为简单的

2016-11-24 19:54:45 593

原创 Qt使用Eigen矩阵库

安装Eigen矩阵库下载 http://pan.baidu.com/s/1c2DpqCg Eigen官网 http://eigen.tuxfamily.org/index.php?title=Main_Page解压后放在任意文件夹内,然后在qt项目中的pro文件中加上Eigen的目录(如果没有加载成功,重新构筑即可)INCLUDEPATH += D:\......\eigen3添加头文件#incl

2016-11-22 14:16:26 11865 4

原创 Qt---用QPainter画一个3D的正方体

闲的蛋疼 My3DBox .h#include <Eigen/Geometry>using namespace Eigen;#define SQUARE_LENGTH 200//是一个边长200的正方体#define CAMERA_DISTANCE 300//视点距离class My3DBox : public QWidget{ Q_OBJECTpublic: expl

2016-11-22 13:57:15 6195 1

原创 C++与设计模式(12)——备忘录模式

在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态这里以棋子坐标为例,通过ChessMemento来保存ChessMan的信息,并通过ChessCaretaker进行管理来实现悔棋和撤销等操作。class ChessMemento{public: ChessMemento():m_x(0),m_y(0),m_str(""

2016-11-18 19:42:23 621

原创 C++与设计模式(11)——装饰模式

装饰模式动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。 装饰模式注重功能的拓展,增加了类的组合,减少了类之间的继承,而多个装饰类进行排练组合,可以创造出不同行为的组合。//穿衣服的人class People{public: virtual void showClothes() = 0;};class Someone : public People

2016-11-17 14:54:49 443

原创 C++与设计模式(10)——桥接模式

桥接模式 定义:将抽象部分与它的实现部分分离,使它们都可以独立地变化这种说法可能不太好理解,那我们有另一种说法,桥接模式是将复杂变化的多个维度分开,通过组合的形式进行联系。举个例子,现在我们要写一个绘图设备(类),它可以画不同颜色不同形状的图形: 先想一个简单的实现,我们的设备拥有绘制所有这些图形的接口: 我们可以发现这么做的话我们的设备的接口会变得非常之多,难以维护和管理,接口内

2016-11-14 21:00:59 587

原创 Qt 多线程编程

关于多线程的话题这里不过多废话,主要介绍qt多线程的两种用法。QThreadQt主要使用继承QThread重写run函数来完成多线程。 我们写了一个继承自QThread的MyThread,重写了它的run函数,之后创建MyThread对象,并让其start(),run函数就会运行在另一个线程里。 MyThread.h#include <QThread>#include <QDebug>#inc

2016-11-10 23:12:45 656

原创 C++与设计模式(9)——享元模式

享元模式 享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。围棋游戏与享元模式说道享元模式,最经典的例子就是围棋了,我们都知道,围棋中有许多棋子,每个棋子都有它们各自的信息:en

2016-11-09 16:49:55 505

原创 py学习之路11---模块与包

先盗张图_(:зゝ∠)_ http://img.blog.csdn.net/20161108193629491” alt=”模块和包” title=”” />模块py中的模块类似其他语言中的头文件。我们可以把一些主题相关的函数和类放在一个模块里,这为py增加了许多可拓展性。导入一个模块我们先来导入一个模块,最开始py有一个内置的模块sysimport sys我们通过‘.’来访问sys模块里的变量,

2016-11-08 19:35:15 518

原创 C++与设计模式(8)——代理模式

代理模式 为其他对象提供一种代理以控制对这个对象的访问代理模式有这几种分类: 1. 远程代理(Remote Proxy)为一个位于不同的地址空间的对象提供一个本地的代理对象。这个不同的地址空间可以是在同一台主机中,也可是在另一台主机中,远程代理又叫做大使(Ambassador) 2. 虚拟代理(Virtual Proxy)根据需要创建开销很大的对象。如果需要创建一个资源消耗较大的对象,先

2016-11-06 21:42:25 461

原创 w3school SQL教程整理

SELECT:用于从表中选取数据 SELECT 列名称 FROM 表名称DISTINCT:用于返回唯一不同的值 SELECT DISTINCT 列名称 FROM 表名称WHERE:有条件地从表中选取数据 SELECT 列名称 FROM 表名称 WHERE 列 运算符 值AND & OR:在 WHERE 子语句中把两个或多个条件结合起来ORDER BY:

2016-11-06 16:10:55 1812

原创 C++ 最长递增子序列问题

最长递增子序列问题:在一列数中寻找一些数,这些数满足:任意两个数a[i]和a[j],若i动态规划求一序列的最长子序列的长度,那么将问题变为在序列中求以a[k]为终点的最长上升子序列的长度aLen[k],状态转移方程为: aLen[0] = 1 aLen[k] = MAX{aLen[i] ,0 <= i < k且a[i] < a[k]} + 1 因为在a[k]左边结尾小于a[k]的序列的长度的最

2016-11-05 16:05:59 5134

原创 在命令行里运行已经完成的python程序

似乎忘了讲一些非常重要的事。我们写完一个py程序后可以直接在命令行里运行它,不过要在文件开头加上一段代码(windows可以不加)#!/bin/env pythonpy看到这段代码后会去env里寻找解释器的位置。然后在命令行里输入(后面是文件目录,这里我放在桌面上了)python C:\Users\Administrator\Destop\a.py就可以在命令行里运

2016-11-04 17:48:19 5718

原创 C++与设计模式(7)——外观模式

外观模式:为子系统中的一组接口提供一个一致的界面, 外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。简单来说就是当系统非常复杂时,由我们来提供一个简单的接口供用户使用,让用户无需关注其中的实现。class Keys{public: void keyFront(){cout << "→";} void keyBack(){cout << "←";} voi

2016-11-04 10:38:01 431

原创 Qt——仿bilibili直播的调音量控件

.hclass VolumeController : public QWidget{ Q_OBJECTpublic: explicit VolumeController(QWidget *parent = 0); void setMaxValue(int value);protected: int m_maxValue; int m_value;

2016-11-03 20:14:35 2313

原创 C++与设计模式(6)——建造者模式

建造者模式建造者模式主要负责把一个复杂对象的构造与其表现分离,与工厂模式不同,建造者模式是在导向者的控制下一步一步构造产品的。 《大话设计模式》中有一个例子——建造小人,一共需建造6个部分,头部、身体、左右手、左右脚。class Builder { public: virtual void BuildHead() {} virtual void BuildBod

2016-11-01 18:04:27 381

空空如也

空空如也

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

TA关注的人

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