2017-11-02 60 views
1

私はスクロール領域を作っていますが、スクロール領域に含まれる領域の色を変更したいと思います。私はスタイルシートを使ってみましたが、スクロールエリア内に追加したすべてのウィジェットの色を変更しました。Pyside:QScrollAreaの背景色を設定する

スタイルシートを使用せずに色を変更する方法はありますか?

container = QtWidgets.QWidget() 
self.list_layout = QtWidgets.QVBoxLayout(spacing=1, margin=2) 

container.setLayout(self.list_layout) 
scroll = QtWidgets.QScrollArea() 
scroll.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) 
scroll.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) 
scroll.setWidgetResizable(True) 
scroll.setWidget(container) 
scroll.setStyleSheet('background-color: #D8D8D8') 

grid_layout.addWidget(scroll, 2, 0, 1, -1) 

答えて

0

あなただけにスタイルシート規則を適用するには、ウィジェットのどのクラスを指定する必要があります:オブジェクト名を使用し、

scroll.setStyleSheet('QScrollArea {background-color: #D8D8D8}') 

あるいは、さらに具体的には:

scroll.setObjectName('myscrollarea') 
scroll.setStyleSheet('#myscrollarea {background-color: #D8D8D8}') 

qssセレクタの完全な一覧については、Style Sheet Referenceを参照してください。

関連する問題