# 填充像素宽度,指定一个宽度,超过之后,不能往下走 # 结合另一个方法同时使用 self.te.setLineWrapMode(QTextEdit.FixedPixelWidth) # 数据的含义代表setLineWrapMode参数中的枚举值(像素宽、列宽等) self.te.setLineWrapMode(100) # 软换行过程中保持单词的形状,设置单词软换行的格式(保持单词的完整性) self.te.setWordWrapMode(QTextOption.WordWrap)

4、覆盖模式:在文本光标处输入一段新的内容,采用覆盖的模式或者新增的方式。

    def 覆盖模式的设置(self):
        # 设置覆盖模式
        self.te.setOverwriteMode(True)
        # 判断当前是否属于覆盖模式
        print(self.te.overwriteMode())

5、文本编辑器中关于光标的设置:(改变光标的样式)

案例:点击按钮将光标置宽,并设置为覆盖模式;再次点击按钮将光标返回原样,并切换回原模式。

    def 光标设置(self):
        if self.te.overwriteMode():
            self.te.setOverwriteMode(False)
            self.te.setCursorWidth(1)
        else:
            self.te.setOverwriteMode(True)
            self.te.setCursorWidth(10)
        # 获取光标矩形(x,y,宽,高)
        print(self.te.cursorRect(self.te.textCursor()))

6、关于段落的对齐方式:(同文本光标中的效果相同)

对齐方式为设置当前段落的对齐方式。

    def 对齐方式(self):
        # 仅仅为设置当前段落的对齐方式
        self.te.setAlignment(Qt.AlignCenter)

7、字体格式的设置:

    def 字体设置(self):
        # 直接弹出选择字体对话框
        QFontDialog().getFont()
        # 将光标之后的字体转换为要求的格式
        # 或者选中字体转换为要求的格式
        self.te.setFontFamily("幼圆")
        self.te.setFontPointSize(10)
        # 设置字体的粗细
        self.te.setFontWeight(QFont.Black)
        # 字体倾斜
        self.te.setFontItalic(True)
        # 字体加上下划线
        self.te.setFontUnderline(True)

如果以上设置字体格式无法满足需求,可以通过设置QFont()对象设置删除线等直接设置方法不存在的格式。

    def 字体设置(self):
        font = QFont()
        font.setStrikeOut(True)
        self.te.setCurrentFont(font)
在 Qt 中, 文本 换行模式指定了 文本 编辑器 中长行 文本 的显示方式。通过设置不同的换行模式,可以控制是否自动换行、如何换行以及是否显示滚动条等。通过设置 文本 编辑器 的换行模式,我们可以根据需求来控制长行 文本 的显示方式,以提供更好的用户体验和可读性。是 QTextEdit 类的成员函数,用于设置 文本 换行模式(Line Wrap Mode)。枚举值作为参数,用于指定 文本 的换行模式。这意味着 文本 将在窗口宽度内自动换行,以确保适应窗口的大小。的 QTextEdit 对象,并将其换行模式设置为。               这一章将完成记事本程序里的“格式”菜单里的各项功能,第一个要完成的是“自动换行”,这个功能 QTextEdit 有个成员函数setLineWrapMode()可以实现这个功能,但问题是这里要求菜单上的”自动换行“是个单选框,QAction的成员函数setCheckable()提供了这个功能,与之对应的是isChecked()这个函数,他返回一个布尔值,用于表示QAction... 该函数设置行的显示方式, 形参mode是一个LineWrapMode类型枚举值, 其中 QTextEdit ::NoWrap表示不做任何处理,此时每加入一行就按一行显示,超出窗口边界会自动显示水平滑条; QTextEdit ::WidgetWidth值是默认设置,一行超出窗口时会自动换行显示,不显示水平滑条; QTextEdit ::FixedPixelWidth和 QTextEdit ::FixedCol 这样设置后, QTextEdit 将不允许多行输入, 文本 将会水平滚动以适应窗口大小。然后我们显示了 QTextEdit 窗口,并运行应用程序。在上面的代码中,我们创建了一个 QTextEdit 对象。要将 QTextEdit 设置为不允许多行,可以使用。 方法 将其设置为不换行模式。 方法 ,并将其参数设置为。 目前我个人在做项目中遇到的问题就是,在禁止掉水平,锤子的滑动条的情况下,输入的 文本 查出编辑框的时候,下面的 文本 会将上面的 文本 顶出编辑框的大小,显示不全, 具体解决,首先设置 编辑器 的属性为不能换行(this->setLineWrapMode( QTextEdit ::NoWrap);)或者一直检查光标所在行的字符串的长度不能大于 编辑器 的宽度,因为 QTextEdit 控件是在输入的字符串的长度大于控件的宽度的时候,会自动的换行,这样处理,就是需要用户手动的敲回车键,进行换行,如此一来,就可以统计到目前输入的行. 问题描述: 在进行pyqt5窗口的设置时,对由于项目中需要将识别内容显示到 文本 框当中且按照每个识别内容一行行显示,此时则需要对 文本 框设置垂直和水平滚动条,对于本文出现的问题:设置垂直滚动条时不会出现无法显示的情况,但是设置水平滚动条时虽然设置为ScrollBarAsNeeded或者ScrollBarAlwaysOn,但是当一行 文本 内容超过后仍然无法显示。 问题原因: 对于这个问题,其实是pyqt5中对于水平方向上的 文本 是软换行,即当你向 文本 框中append内容的时候, 文本 框自动会不按回车键就能自动换行。 QTextEdit 根据 文本 内容的多少调整width()和height(),实现自适应的宽度和高度,同时右侧和下方均不出现滚动条。根据https://bbs.csdn.net/topics/330151382里10楼给出的代码作一定的修改,如下: QTextEdit 的父窗口的构造函数:ui->textEdit->resize(24, 42);connect(ui->textEdit-...