Изменение значное цвет QLCD количество
Я хочу изменить цвет фона и цифры QLCDNumber
в Qt Designer, и я собираюсь использовать этот дизайн (GUI) в своей программе Python.
некоторые люди сказали, что могут получить мою таблицу стилей добавления в Qt-Designer.
QLCDNumber{color:rgb(85, 85, 255);background-color:rgb(0, 170, 255);}
это успешно для цвета фона не для цвета цифр.
как я пытаюсь получить цвет цифры
спасибо
Я не могу использовать последние два setColor (для светлой границы и темной границы). Я генерировал код python (для GUI) из конструктора Qt4 с помощью инструмента pyuic4. Я добавил коды в свой файл кода python (заканчивая .пай нет .ИП) следующим образом
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)
1 ответов
на самом деле, это работает. QLCDNumber
, по умолчанию рисует цифры в стиле "raised". Для небольших размеров эти границы, которые дают повышенный эффект, в основном охватывают цифру, и вы не увидите нормальный цвет. Если вы сделаете его больше, он покажет:
если вы не хотите этого" поднятого " эффекта, вы можете отключить его с помощью setSegmentStyle
:
lcd.setSegmentStyle(QtGui.QLCDNumber.Flat)
С другой стороны, если вы хотите" поднятый " эффект, но хотите контролируйте его, вам нужно сделать это через 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)