前言
想自己继承QWidget
类实现一个带有图片和文字的控件.然后当我使用setStyleSheet
的时候,发现背景颜色总是无法覆盖全部,后来找到文章说需要重写paintEvent
事件.
原文链接
代码
# 重写paintEvent 否则不能使用样式表定义外观
def paintEvent(self, evt):
opt = QStyleOption()
opt.initFrom(self)
painter = QPainter(self)
self.style().drawPrimitive(QStyle.PE_Widget, opt, painter, self)