8

Qt Designerでの背景と数字の色を変更したいのでQLCDNumber、Pythonプログラムでそのデザイン(GUI)を使用します。

Qt-Designerで私の追加スタイルシートを取得できると言う人もいます。

QLCDNumber{color:rgb(85, 85, 255);background-color:rgb(0, 170, 255);}

数字の色ではなく、背景色で成功します。

数字の色を取得するにはどうすればよいですか

ありがとう


最後の2つのsetColor(明るい境界線と暗い境界線)を使用できません。Qt4 Designerからpyuic4ツールを使用してPythonコード(GUI用)を生成していました。次のように、Pythonコードファイル(.uiではなく.pyで終わる)にコードを追加しました

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)
4

2 に答える 2

12

実際には、それは動作します。QLCDNumber、デフォルトでは、数字を「上げられた」スタイルでペイントします。小さいサイズの場合、浮き上がった効果を与えるこれらの境界線はほとんど数字を覆い、通常の色は表示されません。大きくすると、次のように表示されます。

QLCDNumber

この「上げられた」効果が必要ない場合は、次のコマンドでオフにできますsetSegmentStyle

lcd.setSegmentStyle(QtGui.QLCDNumber.Flat)

フラットQLCD番号

一方、「上げられた」効果が必要であるがそれを制御したい場合は、を介してそれを行う必要がありますQPaletteQPalette.LightQPalette.Darkは、これらの境界線を制御する2つの色です。

# 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)

QLCDNumberカスタムQPalette

于 2013-01-23T22:59:56.390 に答える
0

QtLCDNumberのスタイルシート

QLCDNumber{
  background-color: rgb(0, 0, 0);
  border: 2px solid rgb(113, 113, 113);
  border-width: 2px;
  border-radius: 10px;
  color: rgb(255, 255, 255);
}
于 2020-06-09T16:32:32.270 に答える