QPushbutton如何删除setDefault(True)创建的颜色

时间:2017-01-26 09:28:54

标签: qt pyqt

我目前正尝试在Qt中定制我的QPushButton(实际上是PyQt)。所以我设置了StyleSheet来做到这一点。

但问题是我需要通过setDefault将此按钮设置为Default。

如果我这样做,我会有一种颜色流口水......我怎么能摆脱它?

以下是一个例子:

button = QPushButton('login')
button.setDefault(True)
button.setObjectName('login')
button.setStyleSheet(
    """
        QPushButton#login {
            background-color: #4caf50;
            color: white;
            border: none;
        }
        QPushButton:pressed#login {
            background-color: #59b75c;
        }
    """
)

按钮显示为绿色,但文字不是完全白色...我尝试在QPushButton:default上设置StyleSheet但它根本不会改变任何内容

2 个答案:

答案 0 :(得分:2)

我可以看到你的代码中有一个小错误。你给了我们

QPushButton:pressed#login {
    background-color: #59b75c;
}

但这不起作用。

正确的方法是

QPushButton#login:pressed {
    background-color: #59b75c;
}

另外,请确保在'#'之后使用pushButton的objectName而不是按钮的文本。

以下是一些styleSheet examples

的链接

答案 1 :(得分:0)

经过长时间的互联网搜索,我终于找到了怎么做。我要将outline设置为none以将其删除。

QPushButton#login {
    background-color: #4caf50;
    color: white;
    outline: none;
}

然后流畅的颜色消失了。