Comme le dit le titre. Résolu. La solution se trouve au bas de l'article.
La couleur d'arrière-plan du widget créé à partir de la sous-classe QWidget n'a pas pu être définie. Cependant, quand j'ai essayé la même chose avec la source d'héritage QWidget (), cela a fonctionné pour une raison quelconque.
Qu'est-ce que c'est!
Je l'ai recherché, je vais donc le résumer.
# coding: utf-8
from PySide2 import QtWidgets, QtGui, QtCore
class Widget(QtWidgets.QWidget):
def __init__(self):
super(Widget, self).__init__()
self.setStyleSheet("background-color:red")
layout = QtWidgets.QVBoxLayout()
button_widget = QtWidgets.QPushButton()
button_widget.setText("Inherited widget")
layout.addWidget(button_widget)
self.setLayout(layout)
def generate_widget():
parent_widget = QtWidgets.QWidget()
parent_widget.setStyleSheet("background-color:red;")
layout = QtWidgets.QVBoxLayout()
button_widget = QtWidgets.QPushButton()
button_widget.setText("QWidget")
layout.addWidget(button_widget)
parent_widget.setLayout(layout)
return parent_widget
class Window(QtWidgets.QWidget):
def __init__(self):
super().__init__()
hbox = QtWidgets.QHBoxLayout()
widget = Widget()
widget2 = generate_widget()
hbox.addWidget(widget)
hbox.addWidget(widget2)
self.setLayout(hbox)
def main():
app = QtWidgets.QApplication()
window = Window()
window.show()
exit(app.exec_())
if __name__ == "__main__":
main()
Comme ça, la couleur d'arrière-plan ne fonctionne que sur l'arrière-plan du bouton.
La Référence des feuilles de style Qt dit: (Super traduction)
QWidget
Seuls l'arrière-plan, le clip d'arrière-plan et l'origine de l'arrière-plan sont pris en charge.
** Lors du sous-classement depuis QWidget, vous devez fournir paintEvent comme ci-dessous. ** **
def paintEvent(self, event): opt = QtWidgets.QStyleOption() opt.init(self) painter = QtGui.QPainter(self) style = self.style() style.drawPrimitive(QtWidgets.QStyle.PE_Widget, opt, painter, self)
Donc, si vous mettez le code ci-dessus dans une sous-classe, il sera résolu.
Tu l'as fait!
![qWidget_bgcolor_test_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294868/05de106f-8322-b4d3-c8aa-c4794ce7a75c.png)
Recommended Posts