# 填充像素宽度,指定一个宽度,超过之后,不能往下走
# 结合另一个方法同时使用
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-...