QToolButton autoRaise不适用于Mac OSX

时间:2012-08-03 21:02:40

标签: qt

我设置了QToolButton :: autoRaise = true - 这适用于Windows但不适用于Mac OSX 这将使平面按钮看起来像鼠标悬停一样......

我知道Mac OSX上的QToolButton存在限制。 http://doc.qt.io/qt-5/qtoolbutton.html#autoRaise-prop

有没有解决这个问题?

2 个答案:

答案 0 :(得分:0)

因为该属性依赖于样式,并且MacStyle使用本机属性,在这种情况下忽略autoRaise属性,您唯一的选择是使用样式表为按钮执行所有操作:

button = QtGui.QPushButton("FOO")
button.setFlat(True)
button.setStyleSheet("""
    QPushButton {
         border: 2px solid #8f8f91;
         border-radius: 6px;
         background-color: #dadbde;
         min-width: 80px;
     }

    QPushButton:pressed {
        background-color: qlineargradient(
            x1: 0, y1: 0, x2: 0, y2: 1,
            stop: 0 #dadbde, stop: 1 #f6f7fa
        );
    }

    QPushButton:hover {
        border: 2px solid blue;
        border-radius: 6px;
    }
""")

答案 1 :(得分:0)

我找到了答案..你需要将这些添加到Mac OSX的样式表中才能工作,其行为与Windows类似:

QToolButton:checked
{
    background-color: rgb(175,175,175);
}

QToolButton
{
    background-color: transparent;
}

QToolButton:hover
{
        background-color: rgb(175,175,175);
}