101*_*101 3 qt pyqt hover qtstylesheets qpushbutton
Flat QPushButtons没有鼠标悬停的迹象.有没有办法为平面按钮悬停状态设置样式,以便它匹配正常按钮悬停状态(或类似的东西)的样式?

如果它意味着偏离默认外观或者必须从头开始设计按钮样式,我不想使用样式表.
一种方法是推导QPushButton:
pushbutton.h:
#ifndef PUSHBUTTON_H
#define PUSHBUTTON_H
#include <QPushButton>
class PushButton : public QPushButton
{
Q_OBJECT
public:
explicit PushButton(QWidget *parent = 0);
protected:
bool event(QEvent * event);
};
#endif // PUSHBUTTON_H
Run Code Online (Sandbox Code Playgroud)
pushbutton.cpp:
#include "pushbutton.h"
#include <QEvent>
PushButton::PushButton(QWidget *parent) :
QPushButton(parent)
{
setFlat(true);
}
bool PushButton::event(QEvent *event)
{
if(event->type() == QEvent::HoverEnter)
{
setFlat(false);
}
if(event->type() == QEvent::HoverLeave)
{
setFlat(true);
}
return QPushButton::event(event);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2046 次 |
| 最近记录: |