2017-01-11 12 views
2

この関数では、トリガーするボタンのbgColorを取得しようとしています。そのため、バックグラウンドの色をデフォルトの色に設定することができます。与えはbgColor変数を印刷QPushButtonの取得カラー

Could not parse stylesheet of object 0x234ba20 

def clickColor(button, color): 
    bgColor = button.palette().color(QPalette.Background) 
    button.setStyleSheet("background-color: %s" % color) 
    QTimer.singleShot(300, lambda: unClickColor(button, bgColor)) 

def unClickColor(button, beforeColor): 
    button.setStyleSheet("background-color: %s" % bgColor) 

これは、次のエラーメッセージを表示します

<PyQt5.QtGui.QColor object at 0x7f28792c8358> 
+0

常に完全なエラーメッセージ(トレースバック)を入れてください。他にも有用な情報があります。どのラインが問題になるか。 – furas

+0

BTW: 'bgColor'は' clickColor'にのみ存在するローカル変数で、 'unClickColor'で使用します - あなたは' beforeColor'を使うべきです。 – furas

+0

そして、 'QColor'をRGB形式の文字列に変換するには' bgColor.name() 'を使う必要があります(例:"#FF0000 ")。 – ekhumoro

答えて

1

色名()メソッドとunclick機能で色パラメータ名を使用する必要があります。

def unClickColor(button, beforeColor): 
    button.setStyleSheet("background-color: %s" % beforeColor.name()) 

テスト済みで動作します。

関連する問題