Qt动态生成的按钮怎么做到鼠标移上去时的变色效果?
试过重载mouseMoveEvent,但是鼠标移上去没有反应,动态生成的按钮QSS也没效果。。。其他还有没有什么方法能使动态生成的按钮达到鼠标移上去就变色,拿来变回来的效...
试过重载mouseMoveEvent,但是鼠标移上去没有反应,动态生成的按钮QSS也没效果。。。
其他还有没有什么方法能使动态生成的按钮达到鼠标移上去就变色,拿来变回来的效果?要用哪个函数或重载哪个函数? 展开
其他还有没有什么方法能使动态生成的按钮达到鼠标移上去就变色,拿来变回来的效果?要用哪个函数或重载哪个函数? 展开
1个回答
展开全部
用enterEvent和leaveEvent
头文件:
#include <QPushButton>
class MyButton : public QPushButton
{
Q_OBJECT
public:
MyButton(QWidget *parent = 0);
~MyButton(){return;}
protected:
virtual void enterEvent(QEvent* e);
virtual void leaveEvent(QEvent* e);
};
源文件:
MyButton::MyButton(QWidget* parent)
: QPushButton(parent)
{
setText("I am a button");
setFixedSize(100, 100);
setStyleSheet("QPushButton{background: yellow;}");
}
void MyButton::enterEvent(QEvent* e)
{
setStyleSheet("QPushButton{background: red;}");
}
void MyButton::leaveEvent(QEvent* e)
{
setStyleSheet("QPushButton{background: yellow;}");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询