更改QLCD编号的数字颜色

Moo*_*n90 7 python pyqt4

我想更改QLCDNumberQt Designer中的背景和数字颜色,我将在我的Python程序中使用该设计(GUI).

有人说,可以在Qt-Designer中获取我的添加样式表.

QLCDNumber{color:rgb(85, 85, 255);background-color:rgb(0, 170, 255);}
Run Code Online (Sandbox Code Playgroud)

背景颜色不是数字颜色是成功的.

我如何尝试获得数字颜色

谢谢


我不能使用最后两个setColor(用于浅色边框和深色边框).我正在使用pyuic4工具从Qt4 Designer生成python代码(用于GUI).我将代码添加到我的python代码文件中(以.py而不是.ui结尾),如下所示

self.palette = self.withpalette.palette()
self.palette.setColor(QtGui.Palette.WindowText,QtGui.QColor(85,85,255))
self.palette.setColor(QtGui.Palette.Background,QtGui.QColor(0,170,255))
self.palette.setColor(QtGui.Palette.Light,QtGui.QColor(255,0,0))
self.palette.setColor(QtGui.Palette.Dark,QtGui.QColor(0,255,0))
self.withpalette.setPalette(self.palette)
Run Code Online (Sandbox Code Playgroud)

Ava*_*ris 9

实际上,它的工作原理.QLCDNumber默认情况下,以"凸起"样式绘制数字.对于小尺寸,这些产生凸起效果的边框将主要覆盖数字,您将看不到正常颜色.如果你把它做大,它会显示:

QLCDNumber

如果您不想要这种"凸起"效果,可以使用以下命令将其关闭setSegmentStyle:

lcd.setSegmentStyle(QtGui.QLCDNumber.Flat)
Run Code Online (Sandbox Code Playgroud)

扁平QLCDNumber

另一方面,如果你想要"提升"效果但想要控制它,你需要通过它来实现QPalette.QPalette.Light并且QPalette.Dark是控制这些边界的两种颜色.

# get the palette
palette = lcd.palette()

# foreground color
palette.setColor(palette.WindowText, QtGui.QColor(85, 85, 255))
# background color
palette.setColor(palette.Background, QtGui.QColor(0, 170, 255))
# "light" border
palette.setColor(palette.Light, QtGui.QColor(255, 0, 0))
# "dark" border
palette.setColor(palette.Dark, QtGui.QColor(0, 255, 0))

# set the palette
lcd.setPalette(palette)
Run Code Online (Sandbox Code Playgroud)

QLCDNumber自定义QPalette