QToolButton autoRaise不工作的Mac OSX上

问题描述:

我已经设置QToolButton :: autoRaise =真 - 这适用于Windows,但并不适用于Mac OSX 这将使平面按钮似乎它与鼠标筹集悬停......QToolButton autoRaise不工作的Mac OSX上

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

有没有办法解决这个问题?

+0

可能不是。某些样式被平台忽略时,通常是因为平台使用确定行为的本机小部件。它与OSX接管menuBar的方式相同 – jdi 2012-08-03 21:09:48

因为该属性是样式依赖,以及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); 
}