1 Star 2 Fork 1

魏杰/instru

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
ClickableLabel.cpp 1.28 KB
一键复制 编辑 原始数据 按行查看 历史
魏杰 提交于 2023-09-27 11:37 . 202309271150
#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()
{
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/wei-jie/instru.git
git@gitee.com:wei-jie/instru.git
wei-jie
instru
instru
master

搜索帮助