web-dev-qa-db-ja.com

Qcolor値を16進値に変換する方法は?

特定の条件で開くQColorダイアログボックスを実装しました。最終選択後に選択された色を取得するには、QColorで値を返すメソッドselectedColor()を使用します。その値を出力すると、次のようになります。

<PyQt4.QtGui.QColor object at 0x01DD7880>

次のような16進値の色値が必要です:#DFDFDF(灰色の場合)。それが16進数でない場合は、私を訂正してください。

それを変換する関数はありますか?

どんな提案も歓迎します。

18
vettipayyan

実際の色の値を16進数で出力するには、selectedColor().name()を出力する必要があります。 QColorドキュメント を参照してください

28
Jason B

少し増幅するには、混乱させるかもしれませんし、明確にするかもしれません...(Python初心者向け)

color = QColorDialog.getColor(pWidget.textBackgroundColor()、pWidget、 'テキストの強調表示色を取得')

上記は、「青」、「赤」、緑などの名前付きの色に固執したくない人のために、QColorDialogを使用してQColorを返します。

fg = color.name()

この場合、スタイルシートで使用するためにQColorを文字列HEXに変換しています。

Widget.setStyleSheet( 'background-color:' + bg + '; color:' + fg)

これは、そのような変換された値をスタイルシートで使用する方法です。

複数のスタイルシート属性を連結する方法に注意してください。また、ある属性を変更すると、他の属性への以前の変更がキャンセルされる場合があることに注意してください。

1
user3279899