6. 分类图显示和保存
一、前言
本文主要运用知识为 1、QTableView控件的代理委托;2、颜色进度条设置;3、openCV的Mat数据的显示问题
本文主要实现功能为:利用QGraphicsView控件显示分类图,并实现相关的放大、缩小、平移等;对QTableView进行委托显示;利用PS绘制进度条,添加资源文件,作为颜色进度条;QGraphicsView显示openCV的Mat数据;双击QtableView设置自定义颜色。
二、QTableView控件委托
运用的是QItemDelegate类,实现功能如下,对控件的的列添加背景色,代码如下:
1 #include "colorDegete.h" 2 #include <QPixmap> 3 #include <QApplication> 4 #include <QRect> 5 #include <QVector> 6 #include <QDebug> 7 8 9 colorDegete::colorDegete(QObject *parent) 10 :QItemDelegate(parent) 11 { 12 13 } 14 15 colorDegete::~colorDegete() 16 { 17 18 } 19 20 void colorDegete::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const 21 { 22 QString data = index.data().toString(); 23 QStringList list1 = data.split(",",QString::SkipEmptyParts); 24 int r = list1.at(0).toInt(); 25 int g = list1.at(1).toInt(); 26 int b = list1.at(2).toInt(); 27 QColor color(r,g,b); 28 QRect rect = option.rect; 29 QPixmap pixmap(rect.width(),rect.height()); 30 pixmap.fill(color); 31 QApplication::style()->drawItemPixmap(painter,option.rect,Qt::AlignCenter,QPixmap(pixmap)); 32 }
View Code
三、颜色进度条设置
利用PS绘制颜色进度条文件,保存为jpg格式,等,然后加入资源文件,利用QCombobox作为ICON添加进入,代码部分如下:
1 QPixmap icon1(":/colorBar/colorBar/1.jpg"); 2 QPixmap icon2(":/colorBar/colorBar/2.jpg"); 3 QPixmap icon3(":/colorBar/colorBar/3.jpg"); 4 QPixmap icon4(":/colorBar/colorBar/4.jpg"); 5 QPixmap icon5(":/colorBar/colorBar/5.jpg"); 6 7 ui->colorComboBox->addItem(QIcon(icon1),""); 8 ui->colorComboBox->addItem(QIcon(icon2),""); 9 ui->colorComboBox->addItem(QIcon(icon3),""); 10 ui->colorComboBox->addItem(QIcon(icon4),""); 11 ui->colorComboBox->addItem(QIcon(icon5),"");
View Code
四、利用QGraphicsView显示openCV的Mat图像
具体代码如下:
1 bool classifiedMapView::showClassifiedMap(cv::Mat img) 2 { 3 if(img.channels()!=3) 4 return 0; 5 if(!img.isContinuous()) 6 return 0; 7 8 cv::cvtColor(img,img,CV_BGR2RGB); 9 qDebug()<<img.channels()<<img.type(); 10 QImage image = QImage((const unsigned char*)(img.data),img.cols,img.rows,img.cols*img.channels(), 11 QImage::Format_RGB888); 12 QGraphicsScene *tmpScene = new QGraphicsScene(this); 13 QGraphicsPixmapItem *imgItem = new QGraphicsPixmapItem(QPixmap::fromImage(image)); 14 tmpScene->addItem(imgItem); 15 this->setScene(tmpScene); 16 return 1; 17 18 }
View Code
五、总体效果
转载于:https://www.cnblogs.com/zyore2013/p/4734962.html
6. 分类图显示和保存相关推荐
- Java通过JfreeChart生成转Base64图片字符串(饼图、折线图、柱状图、折线图-多条、3D柱状图、气泡图、时序图、曲线图、区域图、分布图、联合分类图、双X轴图、K线图、柱状图-横向等图)
工具类 CreatLineChart.java package DrawLine;import java.awt.BasicStroke; import java.awt.Color; import ...
- 《Splunk智能运维实战》——3.11 制作折线图显示项目浏览量和购买量随时间的变化...
本节书摘来自华章计算机<Splunk智能运维实战>一书中的第3章,第3.11节,作者 [美]乔史·戴昆(Josh Diakun),保罗R.约翰逊(Paul R. Johnson),德莱克· ...
- seaborn系列 (4) | 分类图catplot()
分类图 分类图 函数原型 参数解读 案例教程 案例地址 本篇是<Seaborn系列>文章的第4篇-分类图. 分类图 分类图catplot() 解析: catplot() 分类图(它是下面8 ...
- OpenCV之Python学习笔记(1)(2): 图像的载入、显示和保存 图像元素的访问、通道分离与合并
OpenCV之Python学习笔记 一直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看到一本国外的新书< ...
- CV:基于Keras利用CNN主流架构之mini_XCEPTION训练情感分类模型hdf5并保存到指定文件夹下
CV:基于Keras利用CNN主流架构之mini_XCEPTION训练情感分类模型hdf5并保存到指定文件夹下 目录 图示过程 核心代码 图示过程 核心代码 def mini_XCEPTION(inp ...
- Python-OpenCV 笔记1 -- 图像与视频的读取、显示、保存
Python-OpenCV 笔记1 – 图像与视频的读取.显示.保存 一.图片的读取.显示.保存 1.图片读取 原型: imread (filename, flags=None) 参数: filena ...
- 如何用Seaborn描绘柱状图(条形图),箱线图,小提琴图,分类散点图,分面网格分类图,散点图(3)
柱状图 x = ['金融','农业','制造业','新能源'] y = [163,86,125,58] sns.barplot(x,y) y = ['金融','农业','制造业','新能源'] x = ...
- OpenCV与图像处理学习一——图像基础知识、读入、显示、保存图像、灰度转化、通道分离与合并
OpenCV与图像处理学习一--图像基础知识.读入.显示.保存图像.灰度转化.通道分离与合并 一.图像基础知识 1.1 数字图像的概念 1.2 数字图像的应用 1.3 OpenCV介绍 二.图像属性 ...
- Opencv 图片 读取,显示,保存基本操作
Opencv的图片读取,显示,保存是图片操作的基础,实验用的图片来自于lenan:http://www.lenna.org/ 为了使用方 便,主要是使用opencv的python版本的接口,其官网链接 ...
最新文章
- 对typedef void (*sighandler_t)(int)的理解(声明了一种类型:sighandler_t)
- 模拟简单计算器及比较大小
- 数字图像处理——2D降噪
- java相除保留两位小数_Java:Java快速入门
- VMware内虚拟机自适应及最大化窗口调整方式
- 蓝色简约好看的个人接单HTML源码
- #自定义多级菜单_怎么搞定排版中的多级列表问题?
- Android开发环境搭建之Eclipse/AndroidStudio
- Packt发布了2018年技能提升报告
- 【主成分分析法】NLPer的断舍离(下篇)
- C++ 中三角函数:sin,cos,asin,acos等
- 功率曲线k值_锂电池放电曲线全面解析
- python nan变成0_python nan怎么解决
- DrawIO 基于MinIO以及OSS私有云方案
- meta http-equiv 属性 详解
- 第一章 【教育基础知识和基本原理】
- 在网站中使用一些字体是否会构成侵权?
- sudo: /etc/sudoers.d 可被任何人写
- 厉害了,Python也能使用动态链接库
- 2008年度回顾:决胜路由应用时代