2017-01-26 10 views
2

В настоящее время я пытаюсь настроить свой QPushButton в Qt (на самом деле, PyQt). Поэтому я установил StyleSheet для этого.QPushbutton Как удалить цвет, созданный setDefault (True)

Но проблема в том, что мне нужно установить эту кнопку по умолчанию с помощью setDefault в True.

И если я это сделаю, у меня какой-то цвет слюни ... как я могу избавиться от него?

Вот пример:

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; 
     } 
    """ 
) 

Кнопка появляется зеленый, но текст не полностью белый ... Я пытаюсь установить STYLESHEET на QPushButton:default Но это ничего не меняет на всех

+0

Я думаю, вам не хватает 'button.setObjectName (« login »)' в вашем коде. Аргумент конструктора кнопок предназначен для отображения текста. –

+0

Кроме того, 'QPushButton # login' имеет прецедент над' QPushButton: default'. Чтобы переопределить его, вам нужно использовать 'QPushButton # login: default'. –

ответ

0

После долгих поисков в интернете, я наконец-то нашел, как это сделать. Я должен установить outline на номер none, чтобы удалить его.

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

После этого слюнявый цвет исчезает.

2

Я вижу, что у вас небольшая ошибка в коде. вы дали нам

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

но это не работает.

Правильный способ сделать это

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

также, убедитесь, что после «#» вы используете Objectname нажимной кнопки, а не текст кнопки.

Вот ссылка с некоторыми styleSheet examples

+0

Это правда, я обновляю свой код. – Algorys

 Смежные вопросы

  • Нет связанных вопросов^_^