我遇到一个问题,我想在QPushButton中悬停或按下时使字体变粗。但是font-weight属性只能在正常状态下工作,在字体状态下它不会影响任何东西。 我真的在寻找解决方案。
答案 0 :(得分:3)
对我来说看起来像个错误 - 在悬停状态下忽略样式表字体属性。我无法使用样式表提出解决方法,但您始终可以继承QPushButton
以获得所需内容:
#include <QtGui>
class HoverablePushButton : public QPushButton {
public:
HoverablePushButton(const QString &text, QWidget *parent = NULL)
: QPushButton(text, parent) {}
protected:
void enterEvent(QEvent *event) {
QPushButton::enterEvent(event);
QFont f(font());
f.setBold(true);
setFont(f);
}
void leaveEvent(QEvent *event) {
QPushButton::leaveEvent(event);
QFont f(font());
f.setBold(false);
setFont(f);
}
};
int main(int argc, char **argv) {
QApplication app(argc, argv);
HoverablePushButton b("hello!");
b.show();
return app.exec();
}
可能有点矫枉过正,但如果功能对您的应用程序至关重要,那么至少有一种解决方法。