目录

1、QLineEdit文本框类

2、QTextEdit文本框类


QLineEdit和QTextEdit都是文本框类,QLineEdit类是单行文本框控件,可以输入单行字符串。QTextEdit类是多行文本框控件,可以显示多行文本内容,当文本内容超出控件显示范围时,可以显示水平个垂直滚动条。QTextEdit不仅可以显示文本还可以显示HTML文档。

来看看两者的使用方法和区别吧~

1、QLineEdit文本框类

QLineEdit类中的常用方法如下表所示:

定义输入掩码的字符,下表中列出了输入掩码的占位符和字面字符,并说明其如何控制数据输入。

掩码由掩码字符和分隔符字符串组成,后面可以跟一个分号和空白字符,空白字符在编辑后会从文本中删除的。掩码示例如下表所示:

QLineEdit类中的常用信号如下表所示:

通过一个简单案例了解QLineEdit文本框类的使用吧,效果如下所示:

示例中,演示了QLineEdit文本框类常用方法:

  • 第1个文本框e1,显示文本使用自定义字体、右对齐、允许输入整数。
  • 第2个文本框e2,限制输入小数点后两位。
  • 第3个文本框e3,需要一个输入掩码应用于电话号码。
  • 第4个文本框e4,需要发射信号textChanged,连接到槽函数textchanged()。
  • 第5个文本框e6,设置显示模式EchoMode为Password,需要发射editingfinished信号连接到槽函数enterPress(),一旦用户按下了回车键,该函数就会被执行。
  • 第6个文本框e6,显示一个默认的文本,不能编辑,设置为只读的。

实现代码如下所示:

from PyQt5.QtWidgets import QApplication,  QLineEdit , QWidget ,  QFormLayout
from PyQt5.QtGui import QIntValidator , QDoubleValidator , QFont
from PyQt5.QtCore import Qt
import sys  class lineEditDemo(QWidget):def __init__(self, parent=None):super(lineEditDemo, self).__init__(parent)e1 = QLineEdit()e1.setValidator( QIntValidator() )e1.setMaxLength(4)e1.setAlignment( Qt.AlignRight )e1.setFont( QFont("Arial",20))e2 = QLineEdit()e2.setValidator( QDoubleValidator(0.99,99.99,2))flo = QFormLayout()flo.addRow("integer validator", e1)flo.addRow("Double validator",e2)e3 = QLineEdit()e3.setInputMask('+99_9999_999999')flo.addRow("Input Mask",e3)e4 = QLineEdit()e4.textChanged.connect( self.textchanged )flo.addRow("Text changed",e4)e5 = QLineEdit()e5.setEchoMode( QLineEdit.Password )flo.addRow("Password",e5)e6 = QLineEdit("CSDN不脱发的程序猿")e6.setReadOnly(True)flo.addRow("Read Only",e6 )e5.editingFinished.connect( self.enterPress )self.setLayout(flo)self.setWindowTitle("QLineEdit例子")def textchanged(self, text):print( "输入的内容为: "+text )def enterPress( self ):print( "已输入值" )if __name__ == "__main__":       app = QApplication(sys.argv)win = lineEditDemo()   win.show()  sys.exit(app.exec_())

2、QTextEdit文本框类

QTextEdit类中的常用方法如下表所示:

通过一个简单案例了解QTextEdit文本框类的使用吧,效果如下所示:

示例中使用了一个QTextEdit控件:textEdit和两个QPushButton控件:btnPress1、btnPress2。

以下代码将按钮btnPress1的clicked信号连接到槽函数btn_btnPress1_Clicked()。

self.btnPress1.clicked.connect(self.btnPress1_Clicked)

当按钮btnPress1被按下时会触发clicked信号,然后调用btnPress_Clicked(),最后把文本内容显示到textEdit控件中。同理,当单击btnPress2按钮后,将改变QTextEdit控件textEdit的显示内容为HTML文档。

实现代码如下所示:

from PyQt5.QtWidgets import QApplication,  QWidget ,  QTextEdit, QVBoxLayout , QPushButton
import sys  class TextEditDemo(QWidget):def __init__(self, parent=None):super(TextEditDemo, self).__init__(parent)self.setWindowTitle("QTextEdit 例子")self.resize(300, 270)    self.textEdit = QTextEdit( )      self.btnPress1 = QPushButton("显示文本")self.btnPress2 = QPushButton("显示HTML")        layout = QVBoxLayout()layout.addWidget(self.textEdit)layout.addWidget(self.btnPress1)   layout.addWidget(self.btnPress2)           self.setLayout(layout)self.btnPress1.clicked.connect(self.btnPress1_Clicked)self.btnPress2.clicked.connect(self.btnPress2_Clicked)def btnPress1_Clicked(self):self.textEdit.setPlainText("CSDN不脱发的程序猿\n点击按钮")def btnPress2_Clicked(self):self.textEdit.setHtml("<font color='red' size='6'><red>公众号:美男子玩编程\n点击按钮。</font>")if __name__ == "__main__":       app = QApplication(sys.argv)win = TextEditDemo()   win.show()  sys.exit(app.exec_())

Python Qt GUI设计:QLineEdit和QTextEdit文本框类(基础篇—13)相关推荐

  1. Python Qt GUI设计:窗口布局管理方法【基础】(基础篇—5)

    目录 1.布局管理器进行布局 2.容器控件进行布局 3.geometry属性:控件绝对布局 4.sizePolicy属性:微调优化控件布局 Qt Designer提供4种窗口布局方式,分别如下: Ve ...

  2. Python Qt GUI设计:窗口之间数据传递(拓展篇—5)

    目录 1.单一窗口数据传输 2.多窗口数据传输:调用属性 3.多窗口数据传输:信号与槽 在开发程序时,如果这个程序只有一个窗口,则应该关心这个窗口里面的各个控件之间是如何传递数据的.如果这个程序有多个 ...

  3. Python Qt GUI设计:QDrag拖拽数据传输类(基础篇—18)

    为用户提供的拖曳功能很直观,在很多桌面应用程序中,复制或移动对象都可以通过拖曳来完成. 基于MIME类型的拖曳数据传输是基于QDrag类的.QMimeData对象将关联的数据与其对应的MIME类型相关 ...

  4. Python Qt GUI设计:窗口布局管理方法【强化】(基础篇—6)

    目录 1. 水平布局类(QHBoxLayout) 2.垂直布局类(QVBoxLayout) 3.网格布局类(QGridLayout) 3.1.单一的网络布局 3.2.跨越行.列的网络布局 4.表单布局 ...

  5. Python Qt GUI设计:信号与槽的使用方法(基础篇—7)

    目录 1.信号与槽的概念 2.信号与槽的基础函数 2.1.创建信号函数 2.2.连接信号函数 2.3.断开信号函数 2.4.发射信号函数 3.信号和槽的使用方法 3.1.内置信号与槽的使用 3.2.自 ...

  6. Python Qt GUI设计:QPushButton、QRadioButton和QCheckBox按钮类(基础篇—12)

    目录 1.QPushButton按钮类 2.QRadioButton按钮类 3.QCheckBox按钮类 在GUI设计中,按钮都是最重要的和常用的触发动作请求的方式,用来与用户进行交互操作.在PyQt ...

  7. Python Qt GUI设计:QMainWindow、QWidget和QDialog窗口类(基础篇—10)

    目录 1. QMainWindow窗口 2.QWidget窗口 3.QDialog窗口 3.1.QMessageBox窗口 3.2.QInputDialog窗口 3.3.QFontDialog窗口 3 ...

  8. Python Qt GUI设计:多线程中信号与槽的使用(基础篇—9)

    有时候在项目开发时,经常会遇到一些耗时操作导致界面迟缓卡顿,为了解决这个问题,可以创建多线程,使用主线程更新界面使用子线程实时处理数据,最后将结果显示到界面上. PyQt多线程将使用QThread函数 ...

  9. Python Qt GUI设计:将UI文件转换为Python文件的三种妙招(基础篇—2)

    目录 1.创建项目 2.将.ui文件生成.py文件 2.1.Eric 6编译 2.2.Python命令行编译 2.3.脚本编译 3.界面.逻辑分离思想 在开始本文之前提醒各位朋友,Python记得安装 ...

最新文章

  1. 利用java反射机制 读取配置文件 实现动态类载入以及动态类型转换
  2. idea整合 spring boot jsp mybatis
  3. Centos7上安装 elasticsearch-6.2.2及相关插件
  4. oracle client中对 TNSNAMES.ORA的研究
  5. 一个简单的Android音乐播放器
  6. 计算机弹出错误字,电脑蓝屏,并且屏幕上出现这样的文字该怎么解决?
  7. redis 查询缓存_Redis缓存总结:淘汰机制、缓存雪崩、数据不一致....
  8. 注册验证的时候一直出现的报错问题,终于解决了
  9. 玩转Mybatis —— 一个小demo,带你快速入门Mybatis
  10. linux如何查看磁盘剩余空间
  11. iPhone上传文件到ftp服务器,将文件上传到iPhone上的FTP服务器
  12. python字典和集合对象可以进行索引_python集合和字典
  13. CUID卡写入错误数据被锁死——入坑NFC的一段经历
  14. windows server 2008安装配置FTP服务器
  15. python 两点曲线_ECC椭圆曲线加密算法:ECDH 和 ECDSA
  16. 央行征信与互联网征信技术接口区别(征信架构篇)
  17. 购买计算机网络设备的会计分录,企业购买设备的会计分录怎么写?
  18. 在树莓派(Linux)上使用FTDI的usb转串口芯片ft232两种驱动方式(VCP和D2xx)
  19. alpine的介绍与使用
  20. IntelliJ IDEA 编码设置

热门文章

  1. Python import 的用法
  2. Linux系统中创建大文件,并作为文件系统使用
  3. Flutter 网络请求库http
  4. 一个Git项目多个仓库
  5. mybaties分页
  6. HBuilder简单入门
  7. Centos7下安装Docker
  8. oracle11g分区表按时间自动创建
  9. 2022-2028年中国光刻机行业深度调研及投资前景预测报告
  10. c语言程序设教材计 乌云高娃,C语言程序设计教学课件作者第3版乌云高娃演示文稿C语言程序设计教学课件作者第3版乌云高娃演示文稿演示文稿第1章C语言程序设计基础课件.ppt...