You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 21:36:36