2017-01-26 14 views
2

現在、私はQtのQPushButtonを実際にカスタム化しようとしています(実際は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; 
     } 
    """ 
) 

ボタンが緑色に表示されますが、テキストは完全に白ではありません...私はQPushButton:defaultにスタイルシートを設定しようとしました。しかし、それはすべての

+0

あなたのコードに 'button.setObjectName(" login ")'がありません。ボタンコンストラクタの引数は、表示テキスト用です。 –

+0

また、 'QPushButton#login'は' QPushButton:default'より先行しています。それを無効にするには 'QPushButton#login:default'を使う必要があります。 –

答えて

0

インターネット上で長い検索の後、私は最終的に行う方法を見つけるとリンクです。私はそれを削除するためにoutlinenoneに設定しなければならない。

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

関連する問題