1 Star 1 Fork 1

QT第三方项目/stroage

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
push_button.cpp 1.02 KB
一键复制 编辑 原始数据 按行查看 历史
acanoe 提交于 2014-04-24 00:40 . new project
#include "push_button.h"
PushButton::PushButton(QWidget *parent)
:QPushButton(parent)
{
status = NORMAL;
mouse_press = false;
}
PushButton::~PushButton()
{
}
void PushButton::loadPixmap(QString pic_name)
{
pixmap.load(pic_name);
btn_width = pixmap.width()/4;
btn_height = pixmap.height();
setFixedSize(btn_width, btn_height);
}
void PushButton::enterEvent(QEvent *)
{
status = ENTER;
update();
}
void PushButton::mousePressEvent(QMouseEvent *event)
{
//若点击鼠标左键
if(event->button() == Qt::LeftButton)
{
mouse_press = true;
status = PRESS;
update();
}
}
void PushButton::mouseReleaseEvent(QMouseEvent *)
{
//若点击鼠标左键
if(mouse_press)
{
mouse_press = false;
status = ENTER;
update();
emit clicked();
}
}
void PushButton::leaveEvent(QEvent *)
{
status = NORMAL;
update();
}
void PushButton::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.drawPixmap(rect(), pixmap.copy(btn_width * status, 0, btn_width, btn_height));
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/qt-third-party-project/stroage.git
git@gitee.com:qt-third-party-project/stroage.git
qt-third-party-project
stroage
stroage
master

搜索帮助