qtextedit固定内容_文本编辑框QTextEdit

本文详细介绍了QTextEdit的使用,包括插入文本、设置格式、插入图片、创建列表、插入表格等操作,展示了如何在PyQt5中实现一个功能丰富的文本编辑器。
摘要由CSDN通过智能技术生成

继承  QObject-->QWidget-->QFrame-->QAbstractScrollArea-->QTextEdit

QTextEdit类是一个多行文本框控件,可以显示多行文本内容,当文本内容超出控件显示范围时,可以显示水平个垂直滚动条,Qtextedit不仅可以用来显示文本还可以用来显示HTML4文档,图像,表格

任何一个文本编辑器的程序都要用到QTextEdit作为输入文本的容器,在它里面输入的可编辑文本由QTextDocument作为载体

文本:

importsysfrom PyQt5.QtWidgets importQApplication, QWidget,QTextEditfrom PyQt5.QtGui importQTextCharFormatclassDemo(QWidget):def __init__(self):

super().__init__()

self.resize(300,300)

t= QTextEdit('我爱学习', self) #创建多行文本对象

#参数1 显示的文本

#参数2 父控件

#注意 光标在0位置

t.setPlaceholderText('占位提示') #在文本框内部内容为空时, 给用户的文本提示信息

s=t.placeholderText() #返回占位提示信息

t.setPlainText('我爱我的祖国') #设置普通文本,原来的文本被覆盖掉

#注意 光标在0位置

t.insertPlainText(',我想为祖国做点贡献') #在光标处插入普通文本

#会自动移动光标

s=t.toPlainText() #返回文本框的文本内容-纯文本

t.setHtml('

我爱我的祖国

') #设置HTML文本-富文本,原来的文本被覆盖掉

#注意 光标在0位置

t.insertHtml('

,我想为祖国做点贡献

') #在光标处插入HTML文本-富文本

#会自动移动光标

s=t.toHtml() #返回文本框的文本内容-富文本

t.setText('

我爱我的祖国

') #设置文本-自动判断是普通文本还是富文本

#注意 光标在0位置 原来的文本被覆盖掉

#t.append(',我想为祖国做点贡献') #在尾部追加文本-自动采用前面的文本格式,自动判断是普通文本还是富文本

#t.clear() #清空文本

tc=t.textCursor() #获取文本光标对象->QTextCursor

#利用文本光标对象插入文本-格式一

tc.insertText('中国人') #在光标处插入文本,自动判断格式

#自动移动光标

#利用文本光标对象插入文本-格式二-带字体

tcf=QTextCharFormat() #创建文本字符格式对象

tcf.setToolTip('楷体') #当鼠标在这个字体上悬停时的提示信息

tcf.setFontFamily('李明') #设置字体

tcf.setFontPointSize(30) #设置字体大小

tc.insertText('天津',tcf)#参数2 可选-字体

#利用文本光标对象插入HTML文本

tc.insertHtml('

塘沽

')#自动移动光标

#print(s)

if __name__ == '__main__':

app=QApplication(sys.argv)

demo=Demo()

demo.show()

sys.exit(app.exec_())

利用文本光标对象插入图片:

importsysfrom PyQt5.QtWidgets importQApplication, QWidget,QTextEdit,QPushButtonfrom PyQt5.QtGui importQTextCharFormat,QTextImageFormat,QTextFrameFormatclassDemo(QWidget):def __init__(self):

super().__init__()

self.resize(300,300)

t= QTextEdit('我爱学习', self)

t.setText('

我爱我的祖国

')

tb=QPushButton('按钮',self)

tb.move(100,200)defA():

tc= t.textCursor() #获取文本光标对象->QTextCursor

#利用文本光标对象插入图片

tif = QTextImageFormat() #创建文本图像格式

tif.setName('大象.png') #设置图片

tif.setWidth(100) #设置图片宽度

tif.setHeight(100) #设置图片高度

tc.insertImage(tif,QTextFrameFormat.InFlow) #插入图片-非环绕

#参数2 图片位置

#QTextFrameFormat.FloatRight=2 在右边

#QTextFrameFormat.FloatLeft=1 在左边

#QTextFrameFormat.InFlow=0 在光标处

tb.clicked.connect(A)#print(s)

if __name__ == '__main__':

app=QApplication(sys.argv)

demo=Demo()

demo.show()

sys.exit(app.exec_())

利用文本光标对象插入文本片段:

importsysfrom PyQt5.QtWidgets importQApplication, QWidget,QTextEdit,QPushButtonfrom PyQt5.QtGui importQTextDocumentFragmentclassDemo(QWidget):def __init__(self):

super().__init__()

self.resize(300,300)

t= QTextEdit('我爱学习', self)

tb=QPushButton('按钮',self)

tb.move(100,200)defA():

tc= t.textCursor() #获取文本光标对象->QTextCursor

#利用文本光标对象插入文本片段

#tdf=QTextDocumentFragment.fromHtml('

我是中国人

') #创建富文本片段

tdf = QTextDocumentFragment.fromPlainText('

我是中国人

') #创建普通文本片段

tc.insertFragment(tdf) #在光标处插入文本片段

#自动移动光标

t.setFocus()

tb.clicked.connect(A)if __name__ == '__main__':

app=QApplication(sys.argv)

demo=Demo()

demo.show()

sys.exit(app.exec_())

列表-word的项目编号和项目符号:

importsysfrom PyQt5.QtWidgets importQApplication, QWidget,QTextEdit,QPushButtonfrom PyQt5.QtGui importQTextListFormatclassDemo(QWidget):def __init__(self):

super().__init__()

self.resize(300,300)

t= QTextEdit('我爱学习', self)

tb=QPushButton('按钮',self)

tb.move(100,200)defA():

tc= t.textCursor() #获取文本光标对象->QTextCursor

#利用文本光标对象插入列表-个人理解:word的段落编号和项目符号

#方式一

#s=tc.insertList(QTextListFormat.ListDecimal) #在当前光标处插入一个新块,并使其成为具有给定格式的新创建列表的第一个列表项。返回创建的列表

#返回值类型QTextList

#QTextListFormat.ListCircle 一个空的圆圈

#QTextListFormat.ListDisc 一个圆圈

#QTextListFormat.ListSquare 一个方块

#QTextListFormat.ListDecimal 十进制值按升序排列

#QTextListFormat.ListLowerAlpha 小写拉丁字符按字母顺序排列

#QTextListFormat.ListUpperAlpha 大写拉丁字符按字母顺序排列

#QTextListFormat.ListLowerRoman 小写罗马数字(仅支持最多4999项)

#QTextListFormat.ListUpperRoman 大写罗马数字(仅支持最多4999项)

#方式二

#tc.createList(QTextListFormat.ListDecimal) #创建并返回具有给定格式的新列表,并使当前段落是第一个列表项

#方式三

tlf=QTextListFormat()

tlf.setIndent(1) #缩进1个Tab

tlf.setNumberPrefix('>>') #前缀-放在样式前面

tlf.setNumberSuffix('<

tlf.setStyle(QTextListFormat.ListDecimal) #设置样式

#参数 参考方式一

#只有设置了样式,前缀后缀才有效果

tc.createList(tlf)

t.setFocus()

tb.clicked.connect(A)if __name__ == '__main__':

app=QApplication(sys.argv)

demo=Demo()

demo.show()

sys.exit(app.exec_())

表格:

名称:记录--一行             字段-一列

importsysfrom PyQt5.QtWidgets importQApplication, QWidget,QTextEdit,QPushButtonfrom PyQt5.QtGui importQTextTableFormat,QTextLengthfrom PyQt5.QtCore importQtclassDemo(QWidget):def __init__(self):

super().__init__()

self.resize(300,300)

t=QTextEdit(self)

tb=QPushButton('按钮',self)

tb.move(100,200)defA():

tc= t.textCursor() #获取文本光标对象->QTextCursor

#利用文本光标对象插入表格

#tt=tc.insertTable(3,2 ) #在光标处插入3行2列的表格-不带格式

#返回值类型 QTextTable

#表格不环绕单独占用行

ttf=QTextTableFormat() #创建表格格式

ttf.setAlignment(Qt.AlignRight) #设置对齐方式

ttf.setCellPadding(1) #设置内边距

ttf.setCellSpacing(1) #设置外边距

ttf.setColumnWidthConstraints((QTextLength(QTextLength.PercentageLength, 50),QTextLength(QTextLength.PercentageLength, 40))) #列宽限制

#元组

#按百分比计算

tt = tc.insertTable(3, 2,ttf) #在光标处插入3行2列的表格-带格式

#返回值类型 QTextTable

#表格不环绕单独占用行

t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值