2

QToolButton::autoRaise = true を設定しました - これは Windows では機能しますが、Mac OSX では機能しません。

Mac OSX の QToolButton には制限があることを知っています。 http://doc.qt.io/qt-5/qtoolbutton.html#autoRaise-prop

とにかくこの問題を回避する方法はありますか?

4

2 に答える 2

1

そのプロパティはスタイルに依存し、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;
    }
""")
于 2012-08-03T21:18:19.870 に答える
1

私は答えを見つけました..そして、これらをMac OSXのスタイルシートに追加して、Windowsと同様に動作させる必要があります。

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

QToolButton
{
    background-color: transparent;
}

QToolButton:hover
{
        background-color: rgb(175,175,175);
}
于 2012-08-07T18:41:55.293 に答える