PyQt6 QTextEdit组件为何不显示水平滚动条?
解决QTextEdit仅显示垂直滚动条的问题
你的QTextEdit组件只显示垂直滚动条,是因为它默认开启了自动换行功能——超长文本会自动折行适配组件宽度,不会触发水平滚动条。要显示水平滚动条,只需关闭自动换行:
在初始化self.output_text后,添加一行代码:
self.output_text.setLineWrapMode(QTextEdit.LineWrapMode.NoWrap)
修改后的完整代码如下:
import sys from PyQt6.QtWidgets import (QApplication, QMainWindow, QPushButton, QWidget, QHBoxLayout, QVBoxLayout, QTextEdit) from PyQt6.QtCore import QSize class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("Example") self.setContentsMargins(20,20,20,20) self.setFixedSize(QSize(800, 600)) self.setWindowTitle("Example") layout1 = QHBoxLayout() layout2 = QVBoxLayout() self.output_text = QTextEdit() # 关闭自动换行,启用水平滚动条 self.output_text.setLineWrapMode(QTextEdit.LineWrapMode.NoWrap) self.button_start = QPushButton("Start") self.button_start.clicked.connect(self.start) layout1.addLayout(layout2) layout2.addWidget(self.output_text) layout2.addWidget(self.button_start) widget = QWidget() widget.setLayout(layout1) self.setCentralWidget(widget) def start(self): for i in range (1, 30): self.output_text.append("Line " + str(i) + ": This is a long line. This is a long line. This is a long line. This is a long line. This is a long line. This is a long line. This is a long line. This is a long line. ") app = QApplication(sys.argv) window = MainWindow() window.show() app.exec()
内容的提问来源于stack exchange,提问作者Menachem
相关产品推荐
相关产品推荐

