我实现了一个在特定条件下打开的QColor对话框。为了获取最终选择后的颜色,我使用了selectedColor()
方法,它会返回一个QColor值。当我打印这个值时,它是这样的:
<PyQt4.QtGui.QColor object at 0x01DD7880>
我想要用十六进制表示颜色,例如:#DFDFDF
(表示灰色)。如果这不是十六进制,请纠正我。
有没有可以转换的函数?
欢迎任何建议。
selectedColor().name()
以输出实际的十六进制颜色值。请参阅QColor文档。color = QColorDialog.getColor(pWidget.textBackgroundColor(), pWidget, 'Get Text Highlighting Color')
fg = color.name()
QColor
转换为十六进制字符串,以便在样式表中使用。Widget.setStyleSheet('background-color: ' + bg + ';color: ' + fg)
这是如何在样式表中使用转换后的值。
请注意如何连接多个样式表属性。另外,需要注意的是,有时更改一个属性会取消对其他属性的先前更改。