资源简介
子类化QLabel显示图片并在label上画矩形截图并显示,..a...d........

代码片段和文件信息
#include “LabelPress.h“
#include
LabelPress::LabelPress(QWidget *parent /*= 0*/ ):QLabel(parent)
{
}
LabelPress::LabelPress(const QString &text QWidget *parent
Qt::WindowFlags f):QLabel(textparentf)
{
}
void LabelPress::init(int id)
{
}
LabelPress::~LabelPress()
{
}
void LabelPress::mousePressEvent(QMouseEvent *e)
{
if(e->button() && Qt::LeftButton){
m_isDown = true;
m_start = e->pos();
m_stop = e->pos();
}
}
void LabelPress::mouseMoveEvent(QMouseEvent *e)
{
if(m_isDown){
m_stop = e->pos();
}
update();
}
void LabelPress::mouseReleaseEvent(QMouseEvent *e)
{
if(e->button() && Qt::LeftButton){
m_isDown = false;
}
}
void LabelPress::paintEvent(QPaintEvent *event)
{
QLabel::paintEvent(event);//先调用父类的paintEvent为了显示‘背景‘!!!
QPainter painter(this);
painter.setPen(QPen(Qt::red2));
if(!m_isDown){
return;
}
painter.drawRect(QRect(m_startm_stop));
QRect selectedRect = getRect(m_start m_stop);
m_capturePixmap = m_loadPixmap.copy(selectedRect);
signalCompleteCature(m_capturePixmap);
if(m_capturePixmap.isNull())qDebug(“isNull“);
}
QRect LabelPress::getRect(const QPoint &beginPoint const QPoint &endPoint)
{
int x y width height;
width = qAbs(beginPoint.x() - endPoint.x());
height = qAbs(beginPoint.y() - endPoint.y());
x = beginPoint.x() < endPoint.x() ? beginPoint.x() : endPoint.x();
y = beginPoint.y() < endPoint.y() ? beginPoint.y() : endPoint.y();
QRect selectedRect = QRect(x y width height);
// 避免宽或高为零时拷贝截图有误;
// 可以看QQ截图,当选取截图宽或高为零时默认为2;
if (selectedRect.width() == 0)
{
selectedRect.setWidth(1);
}
if (selectedRect.height() == 0)
{
selectedRect.setHeight(1);
}
return selectedRect;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-06-24 16:36 label\
目录 0 2018-06-24 16:46 label\aaa\
文件 1060 2018-06-24 16:35 label\aaa\aaa.pro
文件 18285 2018-06-24 16:46 label\aaa\aaa.pro.user
文件 2016 2018-06-24 16:35 label\aaa\labelpress.cpp
文件 865 2018-06-24 16:35 label\aaa\labelpress.h
文件 183 2018-06-24 16:35 label\aaa\main.cpp
文件 977 2018-06-24 16:35 label\aaa\mainwindow.cpp
文件 485 2018-06-24 16:35 label\aaa\mainwindow.h
文件 1790 2018-06-24 16:35 label\aaa\mainwindow.ui
目录 0 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\
文件 21801 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\Makefile
文件 176183 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\Makefile.Debug
文件 175364 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\Makefile.Release
目录 0 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\debug\
文件 156672 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\debug\aaa.exe
文件 638 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\debug\aaa.exe.em
文件 97 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\debug\aaa.exe_manifest.rc
文件 704 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\debug\aaa.exe_manifest.res
文件 1179108 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\debug\aaa.ilk
文件 4509696 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\debug\aaa.pdb
文件 368404 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\debug\labelpress.obj
文件 339568 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\debug\main.obj
文件 500340 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\debug\mainwindow.obj
文件 4057 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\debug\moc_labelpress.cpp
文件 346535 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\debug\moc_labelpress.obj
文件 3633 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\debug\moc_mainwindow.cpp
文件 344638 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\debug\moc_mainwindow.obj
目录 0 2018-06-24 16:49 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\release\
文件 3479 2018-06-24 16:36 label\build-aaa-Desktop_Qt_5_3_MSVC2013_64bit-Debug\ui_mainwindow.h
相关资源
- 酒店管理系统基于Qt Creator5)
- vtk QT做的三维地质可视化系统2of2
- Qt局域网聊天软件
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- qt-电子点菜系统
- C 餐厅叫号系统(QT平)
- QT 实现文件下载
- qt图像处理
- QT,JPEG解码源代码(已完成)
- Qt 播放音频文件
- Qt 读取16进制的data文件
- MQTT+串口(usart)透传
- 易语言QQTEA算法源码
- VC工程转Qt工程文件的工具
- MQTT推送Demo
- 基于Linux、QT的视频监控系统的设计与
- Qt 百度地图 定位
- QT酷炫界面开发指南《QmlBook》
- Ubuntu下操作Excel,qt代码
- Qt图片浏览器 --基于Qt的Graphics View f
- qtnribbon2破解
- Qt软件开发 完整项目代码
- MQTT_3.1protocol_Specific中文版
- 在QT中使用RTP进行视频的采集和传输
- Mini6410 Qt4和Qtopia编程开发指南
- Qt实现Code39条形码
- qt_ffmpeg_mp4_export_and_import.zip
- QT5.5入门与项目实战
- Huffman Compress 霍夫曼编码 压缩 解压缩
评论
共有 条评论