在QScrollArea中,QLabel子部件默认情况下是不会自动换行的,而是会展开容器部件。如果希望QLabel子部件使用wordwrap而不是展开容器部件,可以通过以下步骤实现:
下面是一个示例代码:
from PyQt5.QtWidgets import QApplication, QMainWindow, QScrollArea, QWidget, QVBoxLayout, QLabel
app = QApplication([])
window = QMainWindow()
scroll_area = QScrollArea(window)
scroll_area.setGeometry(100, 100, 300, 200)
widget = QWidget()
layout = QVBoxLayout(widget)
label = QLabel("这是一个很长的文本,如果不启用自动换行,将会展开容器部件。")
label.setWordWrap(True)
layout.addWidget(label)
scroll_area.setWidget(widget)
window.setCentralWidget(scroll_area)
window.show()
app.exec_()
在这个示例中,我们创建了一个QScrollArea对象,并设置其大小和位置。然后,我们创建了一个QWidget对象作为QScrollArea的子部件,并将其布局设置为QVBoxLayout。接下来,我们创建了一个QLabel对象,并将其添加到QWidget对象的布局中。最后,我们将QWidget对象设置为QScrollArea的窗口部件,并将QLabel对象的wordWrap属性设置为True。
这样,QLabel子部件就会在QScrollArea中使用wordwrap而不是展开容器部件。
领取专属 10元无门槛券
手把手带您无忧上云