ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

PyQt5 GUI编程——QLineEdit

2019-07-06 11:43:06  阅读:321  来源: 互联网

标签:__ QLineEdit GUI 文本框 PyQt5 flo 掩码 输入


QLineEdit类是一个单行文本框控件,可以输入单行字符串。
QLineEdit的常用方法如下:
在这里插入图片描述
定义输入掩码的字符,下图列出了输入掩码的占位符和字面字符,并说明其如何控制数据输入。
在这里插入图片描述
掩码由掩码字符和分隔符字符串组成,后面可以跟一个分号和空白字符,空白字符在编辑后会从文本删除。掩码示例如下图所示:
在这里插入图片描述
QLineEdit类中的常用信号如下图所示:
在这里插入图片描述
应用实例如下:

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().__init__(parent)
		e1 = QLineEdit()
		#设置验证器,只允许输入整型数据
		e1.setValidator(QIntValidator())
		#设置最大长度为4
		e1.setMaxLength(4)
		#设置右对齐
		e1.setAlignment(Qt.AlignRight)
		e1.setFont(QFont("Arial",20))
		e2 = QLineEdit()
		#设置验证器,允许输入浮点数
		e2.setValidator(QDoubleValidator(0.99,99.99,2))
		e3 = QLineEdit()
		#设置掩码输入格式
		e3.setInputMask("+99_9999_999999")
		e4 = QLineEdit()
		e4.textChanged.connect(self.textchanged)
		e5 = QLineEdit()
		#设置文本框显示格式
		e5.setEchoMode(QLineEdit.Password)
		e6 = QLineEdit("Hello PyQt5")
		e6.setReadOnly(True)
		e5.editingFinished.connect(self.enterPress)
		
		#设置表单布局
		flo = QFormLayout()
		flo.addRow("integer validator",e1)
		flo.addRow("Double validator",e2)
		flo.addRow("Input Mask",e3)
		flo.addRow("Text changed",e4)
		flo.addRow("Password",e5)
		flo.addRow("Read Only",e6)
		
		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_())

在这里插入图片描述
第1个文本框,显示文本使用自定义字体、右对齐、允许输入整数。
第2个文本框,限制输入小数点后两位。
第3个文本框,设置掩码输入格式,输入掩码应用于电话号码。
第4个文本框,需要发射信号textChanged,连接到槽函数textchanged()。
第5个文本框,设置显示模式为Password。
第6个文本框,显示一个默认的文本,不能编辑,设置为只读。

标签:__,QLineEdit,GUI,文本框,PyQt5,flo,掩码,输入
来源: https://blog.csdn.net/L13682726202/article/details/94835656

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有