在 PyQt5 的标签内添加标签
Adding a label within a label on PyQt5
我正在使用 PyQt5 创建标签,如下所示。但是我希望标签的顶部是不同的颜色,并且每个标签都有单独的文本行。有没有办法完成这样的事情?
这是我正在使用的代码。
def CreateModule():
label = QLabel()
label.setAlignment(Qt.AlignCenter)
label.setStyleSheet("background-color:purple")
label.setMaximumWidth(300)
label.setMaximumHeight(200)
return label
虽然使用 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
我正在使用 PyQt5 创建标签,如下所示。但是我希望标签的顶部是不同的颜色,并且每个标签都有单独的文本行。有没有办法完成这样的事情?
这是我正在使用的代码。
def CreateModule():
label = QLabel()
label.setAlignment(Qt.AlignCenter)
label.setStyleSheet("background-color:purple")
label.setMaximumWidth(300)
label.setMaximumHeight(200)
return label
虽然使用 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