【Python-GUI图形化界面-PyQt5模块(4)】——QPushButton核心模块-setWordWrap(True):启用自动换行
启用自动换行。
setWordWrap() 是 PyQt 中 QLabel 控件用于设置文本是否自动换行的常用方法。该方法主要作用是在标签文本过长时,根据控件的宽度自动换行,确保文本能够完整显示在标签区域内,而不会被截断。
通过启用自动换行,可以在界面设计中更好地布局长文本内容,避免超出控件边界的文字无法显示或显示不全的情况。
setWordWrap()方法签名
setWordWrap(on bool)
形参列表:
形参名 |
类型: |
参数解释 |
|
Bool布尔值参数,指定是否启用文本的自动换行功能。 |
· True:启用文本自动换行,根据控件的宽度进行折行。 · False:禁用文本自动换行(默认行为)。如果文本过长,则显示在同一行中,超出部分不会显示。 |
基本示例:
示例代码:
以下是一个使用 setWordWrap(True) 让标签中的长文本根据控件宽度自动换行的简单示例:
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel
import sys
# 初始化应用程序
app = QApplication(sys.argv)
# 创建主窗口
main_window = QMainWindow()
main_window.setWindowTitle('setWordWrap Example')
main_window.resize(400, 300)
# 创建 QLabel 控件,并设置长文本
label = QLabel('This is a very long text that will be automatically wrapped to fit the width of the label. '
'It demonstrates the use of the setWordWrap method in PyQt.', main_window)
label.setGeometry(50, 50, 300, 100) # 设置 QLabel 的位置和大小
# 启用自动换行功能
label.setWordWrap(True)
# 显示主窗口
main_window.show()
# 运行应用程序主循环
sys.exit(app.exec_())
解释:
- label.setWordWrap(True) 启用 QLabel 的文本自动换行功能。
- 长文本在控件宽度不足时自动折行,确保所有文字能够在指定的 QLabel 宽度内完整显示。
拓展示例:
示例代码:
默认情况下,QLabel 不会自动换行。当文本内容过长时,如果未启用 setWordWrap(True),超出控件宽度的文字将无法显示:
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel
import sys
# 初始化应用程序
app = QApplication(sys.argv)
# 创建主窗口
main_window = QMainWindow()
main_window.setWindowTitle('No Word Wrap Example')
main_window.resize(400, 300)
# 创建 QLabel 控件,并设置长文本
label = QLabel('This is a very long text that will not wrap automatically unless word wrap is enabled. '
'Only the part fitting within the label width will be visible.', main_window)
label.setGeometry(50, 50, 300, 50) # 设置 QLabel 的位置和大小
# 禁用自动换行(默认行为)
label.setWordWrap(False)
# 显示主窗口
main_window.show()
# 运行应用程序主循环
sys.exit(app.exec_())
解释:
· label.setWordWrap(False) 禁用了自动换行功能(默认设置)。
· 当文本超过 QLabel 的宽度时,超出部分不会被显示,造成文本内容显示不全。