css - 无法在 qt 中设置伪状态的字体粗细

标签 css qt

我遇到一个问题,我想在 QPushButton 悬停或按下时将其字体加粗。但 font-weight 属性仅在正常状态下有效,在字体状态下它不会影响任何东西。 我真的在寻找解决方案。

最佳答案

对我来说似乎是一个错误——样式表字体属性在悬停状态下被忽略。我无法使用样式表找到解决方法,但您始终可以子类化 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();
}

可能有点矫枉过正,但如果该功能对您的应用程序至关重要,那么它至少是一种解决方法。

关于css - 无法在 qt 中设置伪状态的字体粗细,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9189145/

相关文章:

javascript - 显示图像流,如 HTML 中的视频

jquery - Css 转换不适用于 jquery

c++ - 使用 QtDesigner 创建的 QWidget 添加到 QToolBar 时不可见

c++ - XML 与硬编码接口(interface)?

c++ - 从 Qt 中的 QMainWindow 的构造函数启动一个新线程

css - 缩略图网格墙作为墙纸?

javascript - 自定义弹出谷歌地图

html - 复合组件和 CSS

git - Qt Creator 无法通过 ssh key 对 git 进行身份验证

python - Xvfb IO 错误 : client killed