QToolButton autoRaise 不适用于 Mac OSX

标签 qt

我已经设置了 QToolButton::autoRaise = true ——这适用于 Windows,但不适用于 Mac OSX 这将使平面按钮在鼠标悬停时看起来会升起...

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

有办法解决这个问题吗?

最佳答案

由于该属性与样式相关,并且 MacStyle 使用 native 属性,在这种情况下会忽略 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;
    }
""")

关于QToolButton autoRaise 不适用于 Mac OSX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11803260/

相关文章:

c++ - 显示未显示在 qt 中其他类的文本框中

c++ - 在 Qt 应用程序菜单栏的主菜单中添加和本地化菜单项

c++ - 如何找到包含 QtVirtualKeyboard 的窗口

qt - 如何使编译器检查给SIGNAL()的内容?

c++ - 为特定类重载运算符>>

c++ - CMake configure 无法在 Linux 上找到 Qt5

python - 单击最小化按钮时触发pyqt事件

c++ - Selenium 和 qt C++?

android - 如何在Qt项目中使用Android NDK?

c++ - 如何使用 Qt 和 VS2010 构建类似 hello word 的应用程序