pyqt5 textEdit、lineEdit操作的示例代码


Posted in Python onAugust 12, 2020

1.定义一个textEdit/lineEdit:(lineEdit只需要将代码中的QTextEdit改为QLineEdit)

self.textEdit = QtWidgets.QTextEdit(Dialog)
  self.textEdit.setGeometry(QtCore.QRect(70, 90, 171, 391))
  self.textEdit.setObjectName("textEdit")
  self.textEdit.setReadOnly(True)#设置为只读,即可以在代码中向textEdit里面输入,但不能从界面上输入,没有这行代码即可以从界面输入

2.从代码中将字符串显示到textEdit:

str='要显示的字符串'
self.textEdit.setText(str)

3.追加字符串:

str='要显示的字符串'
 self.textEdit_2.append(str)

4.显示数字到textEdit:数字必须要转换成字符串

count=10
str=str(count)
self.textEdit.setText(str)

5.读取textEdit中的文字:textEdit和LineEdit中的文字读取方法是不一样的

str1 = self.textEdit.toPlainText()
#textEdit 用toPlainText()方法
#linEdit 直接用self.lineEdit.text()即可获取

PyQt5 QTextEdit控件操作

from PyQt5.Qt import *
import sys
import math

#超链接
class MyTextEdit(QTextEdit):
  def mousePressEvent(self,me):
    print(me.pos())
    link_str=self.anchorAt(me.pos())
    if(len(link_str)>0):
      QDesktopServices.openUrl(QUrl(link_str))
    return super().mousePressEvent(me)

class Window(QWidget):
  def __init__(self):
    super().__init__()
    self.setWindowTitle("QTextEdit的学习")
    self.resize(500,500)
    self.setWindowIcon(QIcon("D:\ICO\ooopic_1540562292.ico"))
    self.setup_ui()
  def setup_ui(self):
    te=MyTextEdit(self)
    self.te=te
    te.move(100,100)
    te.resize(300,300)
    te.setStyleSheet("background-color:cyan;")

    but=QPushButton(self)
    but.move(50,50)
    but.setText("测试按钮")
    #self.占位文本的提示()
    self.文本内容的设置()
    #self.格式设置和合并()
    but.pressed.connect(self.but_test)
    #te.textCursor().insertTable(5,3)
    #te.insertHtml("xxx"*300+"<a name='lk' href='#itlike'>撩课</a>"+"aaa"*200)
    te.insertHtml("xxx"*300+"<a href='http://www.itlike.com'>撩课</a>"+"aaa"*200)

    te.textChanged.connect(self.text_change)#文本发生改变
    te.selectionChanged.connect(self.selection_change)#选中的文本发生改变
    te.copyAvailable.connect(self.copy_a)#复制是否可用
  def copy_a(self,yes):
    print("复制是否可用",yes)

  def selection_change(self):
    print("文本选中的内容发生了改变")

  def text_change(self):
    print("文本内容发生了改变")

  def but_test(self):
    #self.te.clear()
    #self.光标插入内容()
    #self.内容和格式的获取()
    #self.字体设置()
    #self.颜色设置()
    #self.字符设置()
    #self.常用编辑操作()
    #self. 只读设置()
    #self.AB功能测试()
    self.打开超链接()

  def 打开超链接(self):
    pass
  def AB功能测试(self):
    #self.te.setTabChangesFocus(True)
    print(self.te.tabStopDistance())
    self.te.setTabStopDistance(100)

  def 只读设置(self):
    self.te.setReadOnly(True)
    self.te.insertPlainText("itlike")

  def 滚动到锚点(self):
    self.te.scrollToAnchor("lk")

  def 常用编辑操作(self):
    #self.te.copy()
    #self.te.paste()
    #self.te.selectAll()
    #self.te.setFocus()
    #QTextDocument.FindBackward
    print(self.te.find("xx",QTextDocument.FindBackward|QTextDocument.FindCaseSensitively))
    self.te.setFocus()

  def 字符设置(self):
    tcf=QTextCharFormat()
    tcf.setFontFamily("宋体")
    tcf.setFontPointSize(20)
    tcf.setFontCapitalization(QFont.Capitalize)
    tcf.setForeground(QColor(100,200,150))
    self.te.setCurrentCharFormat(tcf)
    tcf2=QTextCharFormat()
    tcf2.setFontOverline(True)
    #self.te.setCurrentCharFormat(tcf2)
    self.te.mergeCurrentCharFormat(tcf2)

  def 颜色设置(self):
    self.te.setTextBackgroundColor(QColor(200,10,10))
    self.te.setTextColor(QColor(10,200,10))

  def 字体设置(self):
    #QFontDialog.getFont()
    self.te.setFontFamily("幼圆")
    self.te.setFontWeight(QFont.Black)
    self.te.setFontItalic(True)
    self.te.setFontPointSize(30)
    self.te.setFontUnderline(True)
    #font=QFont()
    #font.setStrikeOut(True)
    #self.te.setCurrentFont(font)


  def 对齐方式(self):
    self.te.setAlignment(Qt.AlignCenter)

  def 光标设置(self):
    print(self.te.cursorWidth())
    if self.te.overwriteMode():
      self.te.setOverwriteMode(False)
      self.te.setCursorWidth(1)
    else:
      self.te.setOverwriteMode(True)
      self.te.setCursorWidth(10)
  def 覆盖模式的设置(self):
    self.te.setOverwriteMode(True)
    print(self.te.overwriteMode())

  def 软换行模式(self):
    #self.te.setLineWrapMode(QTextEdit.NowWrap)
    #self.te.setLineWrapMode(QTextEdit.FixedPixelWidth)
    self.te.setLineWrapMode(QTextEdit.FixedColumnWidth)
    self.te.setLineWrapColumnOrWidth(8)
  def 自动格式化(self):
    QTextEdit
    self.te.setAutoFormatting(QTextEdit.AutoBulletList)#录入*号自动产生格式
  def 开始和结束编辑块(self):
    tc=self.te.textCursor()
    #tc.beginEditBlock()
    tc.insertText("123")
    tc.insertBlock()
    tc.insertText("456")
    tc.insertBlock()
    #tc.cndEditBlock()

    tc.insertText("789")
    tc.insertBlock()
  def 位置相关(self):
    tc=self.te.textCursor()#获取光标
    print("是否在段落的结尾",tc.atBlockEnd)
    print("是否在段落的开始",tc.atBlockStart())
    print("是否在文档的结尾",tc.atEnd())
    print("是否在文档的开始",tc.atStart())
    print("在第几列",tc.columnNumber())
    print("光标位置",tc.position())
    print("在文本块中的位置",tc.positionInBlock())
  def 文本字符的删除(self):
    tc=self.te.textCursor()
    #tc.deleteChar()#向右侧清除
    tc.deletePreviousChar()#向左侧清除
    self.te.setFocus()
  def 文本的其他操作(self):
    tc=self.te.textCursor()
    #print(tc.selectionStart())#获取选中起始
    #print(tc.selectionEnd())#获取选中结束
    #tc.clearSelection()#清除选中
    #self.te.setTextCursor()#设置光标
    #print(tc.hasSelection())
    tc.removeSelectedText()
    self.te.setFocus()
  def 文本选中内容的获取(self):
    tc=self.te.textCursor()
    print(tc.selectedText())
    QTextDocumentFragment
    print(tc.selection().toPlainText())
    print(tc.selectedTableCells())
  def 文本选中和清空(self):
    tc=self.te.textCursor()
    #tc.setPosition(6,QTextCursor,KeepAnchor)
    #tc.movePosition(QTextCursor.Up,QTextCursor.KeepAnchor,1)
    tc.select(QTextCursor.WordUnderCursor)
    self.te.setTextCursor(tc)

  def 格式设置和合并(self):
    #设置上下间距
    tc=self.te.textCursor()
    tcf=QTextCharFormat()
    tcf.setFontFamily("幼圆")
    tcf.setFontPointSize(30)
    tcf.setFontOverline(True)
    tcf.setFontUnderline(True)
    tc.setCharFormat(tcf)
    return None

    #设置上下划线及字体大小
    tc=self.te.textCursor()
    tcf=QTextCharFormat()
    tcf.setFontFamily("幼圆")
    tcf.setFontPointSize(30)
    tcf.setFontOverline(True)
    tcf.setFontUnderline(True)
    tc.setBlockCharFormat(tcf)
    pass

  def 内容和格式的获取(self):
    tc=self.te.textCursor()
    QTextLine
    print(tc.block().text())
    print(tc.blockNumber())
    #print(tc.currentList().count())
    pass
  def 文本内容的设置(self):
    #设置普通文本内容
    self.te.setPlainText("<h1>ooo</h1>")
    self.te.insertPlainText("<h1>ooo</h1>")
    print(self.te.toPlainText())
    #富文本的操作
    self.te.setHtml("<h1>ooo</h1>")
    self.te.insertHtml("<h6>社会我的顺哥</h6>")
    print(self.te.toHtml())

  def 占位文本的提示(self):
    self.te.setPlaceholderText("请输入你的个人简介")

  def 光标插入内容(self):
    tc=self.te.textCursor()#获取焦点
    tff=QTextFrameFormat()
    tff.setBorder(10)
    tff.setBorderBrush(QColor(100,50,50))
    tff.setRightMargin(50)
    tc.insertFrame(tff)
    doc=self.te.document()
    root_frame=doc.rootFrame()
    root_frame.setFrameFormat()
    return None
    tc=self.te.textCursor()#获取光标
    tbf=QTextBlockFormat()
    tcf=QTextCharFormat()
    tcf.setFontFamily("隶书")
    tcf.setFontItalic(True)
    tcf.setFontPointSize(20)
    tbf.setAlignment(Qt.AlignRight)#对齐
    tbf.setRightMargin(100)
    tc.insertBlock(tbf,tcf)
    self.te.setFocus()#焦点
    return None
    #创建或插入添加表格
    tc=self.te.textCursor()
    ttf=QTextTableFormat()
    ttf.setAlignment(Qt.AlignRight)
    ttf.setCellPadding(6)
    ttf.setCellSpacing(13)


    ttf.setColumnWidthConstraints((QTextLength(QTextLength.PercentageLength,50),QTextLength(QTextLength.PercentageLength,40),QTextLength(QTextLength.PercentageLength,10)))#单元格长度比例

    table=tc.insertTable(5,3,ttf)
    table.appendColumns(2)
    return None

    #设置对齐
    tc=self.te.textCursor()
    #tl=tc.insertList(QTextListFormat.ListCircle)
    #tl=tc.insertList(QTectListFormat.ListDecimal)
    #tl=tc.createList(QTextListFormat.ListDecimal)
    tlf=QTextListFormat()
    tlf.setIndent(3)
    tlf.setNumberPrefix("<<")
    tlf.setNumberSuffix("<<")
    tlf.setStyle(QTextListFormat.ListDecimal)
    tl=tc.createList(tlf)
    QTextList
    return None

    #插入普通文本或者富文本
    tc=self.te.textCursor()
    tdf=QTextDocumentFragment.fromHtml("<h1>xxx</h1>")
    #tdf=QTextDocumentFragment.fromPlainText("<h1>xxx</h1>")
    tc.insertFragment(tdf)
    return None
    #插入图片
    tc=self.te.textCursor()
    tif=QTextImageFormat()
    tif.setName("D:\ICO\ooopic_1517621187.ico")
    tif.setWidth(100)
    tif.setHeight(100)
    tc.insertImage("D:\ICO\mmmmm.JPG")

    return None
    #插入接
    QTextCursor
    tcf=QTextCharFormat()
    tcf.setToolTip("撩课学院网址")
    tcf.setFontFamily("隶书")
    tcf.setFontPointSize(12)
    tc=self.te.textCursor()
    tc.insertText("itlike.com",tcf)
    tc.insertHtml("<a href='http://www.itlike.com'>撩课</a>")

if __name__=="__main__":
  App=QApplication(sys.argv)
  Win=Window()
  Win.show()
  sys.exit(App.exec_())

到此这篇关于pyqt5 textEdit、lineEdit操作的示例代码的文章就介绍到这了,更多相关pyqt5 textEdit、lineEdit操作内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python 判断自定义对象类型
Mar 21 Python
python实现批量转换文件编码(批转换编码示例)
Jan 23 Python
零基础写python爬虫之urllib2使用指南
Nov 05 Python
Python网络爬虫项目:内容提取器的定义
Oct 25 Python
JPype实现在python中调用JAVA的实例
Jul 19 Python
pandas将DataFrame的列变成行索引的方法
Apr 10 Python
Python实现的远程登录windows系统功能示例
Jun 21 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
Dec 11 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
Jun 18 Python
Python多叉树的构造及取出节点数据(treelib)的方法
Aug 09 Python
使用python实现学生信息管理系统
Feb 25 Python
详解pytorch创建tensor函数
Mar 22 Python
基于python requests selenium爬取excel vba过程解析
Aug 12 #Python
PyCharm+PyQt5+QtDesigner配置详解
Aug 12 #Python
Python自动发送和收取邮件的方法
Aug 12 #Python
Selenium webdriver添加cookie实现过程详解
Aug 12 #Python
Python如何设置指定窗口为前台活动窗口
Aug 12 #Python
Python面向对象实现方法总结
Aug 12 #Python
Python命名空间及作用域原理实例解析
Aug 12 #Python
You might like
SONY ICF-SW7600的电路分析
2021/03/02 无线电
PHP输出XML到页面的3种方法详解
2013/06/06 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
2015/06/23 PHP
浅谈php错误提示及查错方法
2015/07/14 PHP
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
2013/04/24 Javascript
jquery中获得元素尺寸和坐标的方法整理
2014/05/18 Javascript
js动态修改表格行colspan列跨度的方法
2015/03/30 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
2015/06/12 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
JS实现的添加弹出层并完成锁屏操作示例
2017/04/07 Javascript
深入剖析Express cookie-parser中间件实现示例
2018/02/01 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
用webpack4开发小程序的实现方法
2019/06/04 Javascript
基于ssm框架实现layui分页效果
2019/07/27 Javascript
[05:05]第三天的dota2
2013/07/29 DOTA
[01:08:43]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第一场 1月9日
2021/03/11 DOTA
python开发之thread实现布朗运动的方法
2015/11/11 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
2019/07/06 Python
在django view中给form传入参数的例子
2019/07/19 Python
python实现生成Word、docx文件的方法分析
2019/08/30 Python
python 计算概率密度、累计分布、逆函数的例子
2020/02/25 Python
关于python中导入文件到list的问题
2020/10/31 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
2021/01/28 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
商务英语毕业生自荐信范文
2013/11/08 职场文书
公司年会搞笑主持词
2014/03/24 职场文书
《骑牛比赛》教后反思
2014/04/22 职场文书
走进科学观后感
2015/06/18 职场文书
高中地理教学反思
2016/02/19 职场文书
感谢信的技巧及范例
2019/05/15 职场文书
史上最全书信经典范文大全(建议收藏)
2019/07/10 职场文书
2019年国庆祝福语(70句)
2019/09/19 职场文书
java高级用法JNA强大的Memory和Pointer
2022/04/19 Java/Android