w.setBackgroundRole(QPalette.Base)
以下のコードの行は効果がありません。なんで?どうすれば修正できますか?
import sys
from PySide.QtCore import *
from PySide.QtGui import *
app = QApplication(sys.argv)
w = QWidget()
w.setBackgroundRole(QPalette.Base)
w.show()
app.exec_()
setAutoFillBackground(True)
ウィジェットを呼び出す必要があります。デフォルトでは、 aQWidget
はその背景を塗りつぶしません。
詳細については、setAutoFillBackground
プロパティのドキュメントを参照してください。
任意の背景色を使用したい場合は、代わりにウィジェットのパレットを変更する必要があります:
p = w.palette()
p.setColor(w.backgroundRole(), Qt.red)
w.setPalette(p)