我实现了一个在特定条件下打开的 QColor 对话框。 为了在最终选择后获取选定的颜色,我使用方法
selectedColor()
返回 QColor 中的值。当我打印该值时,它是这样的:
<PyQt4.QtGui.QColor object at 0x01DD7880>
我想要十六进制值的颜色值,如下所示:
#DFDFDF
(表示灰色)。如果不是十六进制,请纠正我。
有什么函数可以转换吗?
欢迎任何建议。
稍微放大一下,也许会让人困惑,也许会澄清……(对于Python新手)
color = QColorDialog.getColor(pWidget.textBackgroundColor(), pWidget, 'Get Text Highlighting Color')
对于我们这些不想被“蓝色”、“红色”、绿色等命名颜色困扰的人来说,上面将使用
QColor
返回一个 QColorDialog
。
fg = color.name()
在本例中,我将
QColor
转换为十六进制字符串以在样式表中使用。
Widget.setStyleSheet('background-color: ' + bg + ';color: ' + fg)
这就是在样式表中使用此类转换值的方式。
注意如何连接多个样式表属性。另外,请注意,有时更改一个属性会取消之前对其他属性的更改。