this->setAttribute(Qt::WA_Hover,true);
this->installEventFilter(this);
安装过滤器
重写此方法
bool ImonitorBtn::eventFilter(QObject *obj, QEvent *event)
{
if(obj == this)
{
if(event->type() == QEvent::HoverEnter){
if(m_setSelect != ""){
ColorBtn(nameBtn,m_setSelect);
}
}else if(event->type() == QEvent::HoverLeave){
if(m_setDisplay != ""){
ColorBtn(nameBtn,m_setDisplay);
}
}
}
}
void ImonitorBtn::ColorBtn(QString name, QString url)
{
//给按钮添加背景
QString style = QString("QPushButton#%1{"
"background-image:url(%2);"
"background-repeat:no-repeat;"
"border:none;""}").arg(name).arg(url);
setStyleSheet(style);
}
name 按钮objectName
url 图片路径
图片随按钮变化