资源简介
图片预览
可以放大,缩小图片
代码片段和文件信息
/****************************************************************
** BlackPixmapItem
** 自定义graphicsitem,用于加载图片
**
** blackpixmapitem.h
**
** Zhou Tao 2017-05-18T11:09:16
**
** QQ : 741301964
**
** 深圳市XX电子股份有限公司
**
****************************************************************/
#include “blackpixmapitem.h“
BlackPixmapItem::BlackPixmapItem(int width int height bool isPreview):
m_nWidth(width)m_nHeight(height)m_bIsPreview(isPreview){
}
QRectF BlackPixmapItem::boundingRect() const
{
return QRectF(0 0 m_nWidth m_nHeight);
}
//设置item图片
void BlackPixmapItem::setPixmap(const QPixmap Pixmap)
{
prepareGeometryChange();
pixmap = Pixmap;
update();
}
//设置item大小
void BlackPixmapItem::setSize(int w int h)
{
prepareGeometryChange();
m_nWidth = w;
m_nHeight = h;
}
//item缩放
void BlackPixmapItem::setZoom(qreal zoomFactor)
{
QTransform transform;
transform.scale(zoomFactorzoomFactor);
transform.translate(1024*(1.0-zoomFactor)/2600*(1.0-zoomFactor)/2);
qDebug()<<1024*(1.0-zoomFactor)/2<<600*(1.0-zoomFactor)/2;
setTransform(transform);
}
//清除图片
void BlackPixmapItem::clearPixmap()
{
QPixmap clearPix = QPixmap();
pixmap = clearPix;
update();
}
#include
//绘制item
void BlackPixmapItem::paint(QPainter *painter const QstyleOptionGraphicsItem *option QWidget *widget)
{
Q_UNUSED(widget);
Q_UNUSED(option);
painter->setBrush(Qt::black);//背景填充黑色
painter->drawRoundedRect(0 0 m_nWidthm_nHeight 2 2);
painter->setRenderHint(QPainter::SmoothPixmapTransformQt::SmoothTransformation);
//绘制图片
if(!pixmap.isNull())
painter->drawPixmap((m_nWidth-pixmap.width())/2 (m_nHeight-pixmap.height())/2
pixmap.width()pixmap.height()pixmap);
//阴影遮罩
/*if(isSelected)
{
painter->setBrush(Qt::gray);//背景填充
painter->setOpacity(0.5);//透明度
painter->drawRoundedRect(0 0 m_nWidthm_nHeight 2 2);
}*/
}
//点击放大
void BlackPixmapItem::setFocusIn()
{
qDebug()<<“BlackPixmapItem focusInEvent “;
//isSelected = true;
//update();//更新
setScale(1.05);//放大
}
//释放缩小
void BlackPixmapItem::setFocusOut()
{
qDebug()<<“BlackPixmapItem focusOutEvent “;
//isSelected = false;
//update();//更新
setScale(1);//缩小
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-12-28 00:26 ImageView\
文件 2545 2017-06-14 09:50 ImageView\blackpixmapitem.cpp
文件 1857 2017-06-05 17:17 ImageView\blackpixmapitem.h
文件 6267 2017-06-05 17:17 ImageView\customgraphicsview.cpp
文件 2288 2017-06-05 17:17 ImageView\customgraphicsview.h
目录 0 2017-06-14 10:04 ImageView\image\
文件 2986 2017-06-05 17:17 ImageView\imageloadthread.cpp
文件 1531 2017-06-05 17:17 ImageView\imageloadthread.h
文件 12722 2017-06-14 09:59 ImageView\imagepreview.cpp
文件 3143 2017-06-14 09:22 ImageView\imagepreview.h
文件 18851 2017-06-14 10:01 ImageView\imageview.cpp
文件 4812 2017-06-14 09:26 ImageView\imageview.h
文件 630 2017-06-13 17:47 ImageView\ImageView.pro
文件 23908 2017-12-28 00:26 ImageView\ImageView.pro.user
文件 23853 2017-06-14 09:17 ImageView\ImageView.pro.user.0577304
文件 183 2017-06-05 17:11 ImageView\main.cpp
文件 352 2017-06-14 09:38 ImageView\mainwindow.cpp
文件 404 2017-06-13 17:15 ImageView\mainwindow.h
文件 654 2017-06-05 17:11 ImageView\mainwindow.ui
相关资源
- Qt界面外观
- [嵌入式Linux项目实战开发]基于QT4.7.
- Qt GUI 界面通用系统模板 源码
- 网上的一款QT界面设计的电子地图
- 二维码解析
- linux下关于Qt界面的摄像头v4l2操作源码
- 360UI完美界面
- 净化设备管理
- 基于qt界面的语音交互软件
- 综合组件的界面
- opencv打开图片并显示在Qt界面上
- Qt360 界面
- 动态绘制曲线
- QtitanRibbon3.zip
- VS+QT环境下读取excel文件到QT界面,并
- 基于嵌入式QT界面GPS定位系统
- [嵌入式Linux项目实战开发]基于QT4.7.
- 物联网 智能家居 Qt界面
- 将QT界面做成dll在qt其他程序中调用
-
将xm
l内容显示Qt界面 - DS18B20测温及QT界面实现
- qt界面跳转切换
- 基于v4l的视频采集显示程序。外加Q
- QT计算器界面和计算器功能实现
- qt界面连接wifi
- myseria串口
- 基于Qt界面显示的温湿度检测
- Qt界面多线程opencv调用摄像头
- 智慧大棚QT界面设计
- Qt高仿网易云音乐界面源码
评论
共有 条评论