【问题标题】:Adding a label within a label on PyQt5在 PyQt5 上的标签内添加标签
【发布时间】:2021-01-16 06:22:32
【问题描述】:
我正在使用 PyQt5 创建一个标签,如下所示。但是我希望标签的顶部是不同的颜色,并且每行都有单独的文本行。有没有办法完成这样的事情?
这是我正在使用的代码。
def CreateModule():
label = QLabel()
label.setAlignment(Qt.AlignCenter)
label.setStyleSheet("background-color:purple")
label.setMaximumWidth(300)
label.setMaximumHeight(200)
return label
【问题讨论】:
标签:
python
python-3.x
pyqt
pyqt5
【解决方案1】:
虽然使用limited support Qt provides for html 可能会这样做,但使用嵌套布局通常更容易且更面向对象
def createModule():
container = QWidget()
layout = QVBoxLayout(container)
layout.setContentsMargins(0, 0, 0, 0)
header = QLabel('Title', alignment=Qt.AlignCenter)
header.setStyleSheet('color: white; background: black;')
content = QLabel('Lorem ipsum', alignment=Qt.AlignCenter)
content.setStyleSheet('color: white; background: purple;')
layout.addWidget(header)
layout.addWidget(content)
container.setMaximumSixe(300, 200)
return container