代码拉取完成,页面将自动刷新
#include "ClickableLabel.h"
#include <QDebug>
#include <QPainterPath>
ClickableLabel::ClickableLabel(QWidget *parent, QString p):QLabel(parent)
{
path = p;
}
#if 1
void ClickableLabel::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.save();
QPixmap px(path);
QPixmap dst = px.scaled(px.width(),px.height(),Qt::KeepAspectRatio,Qt::SmoothTransformation);
painter.drawPixmap(0,0,dst);
QPen pen;
pen.setWidth(3);
pen.setColor(Qt::red);
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setPen(pen);
painter.drawRect(0,0,24,24);
painter.restore();
}
#endif
void ClickableLabel::mousePressEvent(QMouseEvent *event)
{
if(event->button()==Qt::LeftButton)
{
emit pressed();
qDebug()<<"hello";
setStyleSheet("QLabel{border:3px solid rgb(255,0,0);}");
repaint();
}
QLabel::mousePressEvent(event);
}
void ClickableLabel::mouseReleaseEvent(QMouseEvent *event)
{
if(event->button()==Qt::LeftButton)
{
emit released();
repaint();
}
QLabel::mouseReleaseEvent(event);
}
void ClickableLabel::mouseMoveEvent(QMouseEvent *event)
{
if(event->button()==Qt::LeftButton)
emit moved();
QLabel::mouseMoveEvent(event);
}
ClickableLabel::~ClickableLabel()
{
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。