我已經設置QToolButton :: autoRaise =真 - 這適用於Windows,但並不適用於Mac OSX 這將使平面按鈕似乎它與鼠標籌集懸停......QToolButton autoRaise不工作的Mac OSX上
我知道在Mac OSX上QToolButton存在限制。 http://doc.qt.io/qt-5/qtoolbutton.html#autoRaise-prop
有沒有辦法解決這個問題?
我已經設置QToolButton :: autoRaise =真 - 這適用於Windows,但並不適用於Mac OSX 這將使平面按鈕似乎它與鼠標籌集懸停......QToolButton autoRaise不工作的Mac OSX上
我知道在Mac OSX上QToolButton存在限制。 http://doc.qt.io/qt-5/qtoolbutton.html#autoRaise-prop
有沒有辦法解決這個問題?
因爲該屬性是樣式依賴,以及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;
}
""")
我找到了答案..並且您需要將這些添加到Mac OSX的樣式表中以使其工作並且類似於Windows:
QToolButton:checked
{
background-color: rgb(175,175,175);
}
QToolButton
{
background-color: transparent;
}
QToolButton:hover
{
background-color: rgb(175,175,175);
}
可能不是。某些樣式被平臺忽略時,通常是因爲平臺使用確定行爲的本機小部件。它與OSX接管menuBar的方式相同 – jdi 2012-08-03 21:09:48