PyQt5基本控件详解之QLineEdit(四)
QLineEdit
QLineEdit类中常⽤的⽅法如下表
⽅法描述setAlignment()按固定值⽅式对齐⽂本
Qt.AlignLeft:⽔平⽅向靠左对齐
Qt.AlignRight:⽔平⽅向靠右对齐
Qt.AlignCenter:⽔平⽅向居中对齐
Qt.AlignJustify:⽔平⽅向调整间距两端对齐
Qt.AlignTop:垂直⽅向靠上对齐
Qt.AlignBottom:垂直⽅向靠下对齐
Qt.AlignVCenter:垂直⽅向居中对齐setEchoMode()设置⽂本框的显⽰格式,允许输⼊的⽂本显⽰格式的值可以是:
QLineEdit.Normal:正常显⽰所输⼊的字符,此为默认选项
QLineEdit.NoEcho:不显⽰任何输⼊的字符,常⽤于密码类型的输⼊,且长度保密
QLineEdit.Password:显⽰与平台相关的密码掩饰字符,⽽不是实际输⼊的字符
QLineEdit.PasswordEchoOnEdit:在编辑时显⽰字符,负责显⽰密码类型的输⼊setPlaceholderText()设置⽂本框显⽰⽂字setMaxLength()设置⽂本框所允许输⼊的最⼤字符数setReadOnly()设置⽂本为只读setText()设置⽂本框的内容text()返回⽂本框的内容setDragEnable()设置⽂本框是否接受拖动selectAll()全选setFocus()得到焦点setInputMask()设置掩码setValidator()设置⽂本框的验证器(验证规则),将限制任意可能输⼊的⽂本,可⽤的校验器为
QIntValidator:限制输⼊整数
QDoubleValidator:限制输⼊浮点数
QRegexpValidator:检查输⼊是否符合正则表达式QLineEdit类中常⽤信号如下
信号描述
selectionChanged只要选择改变了,这个信号就会发射
textChanged当修改⽂本内容时,这个信号就会发射
editingFinished当编辑⽂本结束时,这个信号就会发射
定义输⼊掩码的字符
下表列出了输⼊掩码的占位符和字⾯字符,并说明其如何控制数据输⼊
字符含义A ASCII字母字符是必须输⼊的(A-Z,a-z)a ASCII字母字符是允许输⼊的,但不是必须输⼊的N ASCII字母字符是必须输⼊的(A-Z,a-z,0-9)n ASCII字母字符是允许输⼊的,但不是必须输⼊的X任何字符都是必须输⼊x任何字符都是允许输⼊的,但不是必须输⼊的9ASCII数字字符是必须输⼊的(0-9)0ASCII数字字符是允许输⼊的,但不是必须输⼊的D ASCII数字字符是必须输⼊的(1-9)d ASCII数字字符是允许输⼊的,但不是必须的(1-9)#ASCII数字字符与加减字符是允许输⼊的,但不是必须的H⼗六进制格式字符是必须输⼊的(A-F,a-f,0-9)h⼗六进制格式字符允许输⼊,但不是必须的B⼆进制格式字符是必须输⼊的(0,1)b⼆进制格式字符是允许输⼊的,但不是必须的>所有字母字符都⼤写<;所有字母字符都⼩写!关闭⼤⼩写转换\使⽤‘\’转义上⾯列出的字符
掩码由掩码字符与分隔符字符串组成,后⾯可以跟⼀个分号和空⽩字符,空⽩字符在编辑后会从⽂本删除的
掩码⽰例如下:
掩码注意事项
000.000.000.000;_ip地址,空⽩字符是‘_’
HH:HH:HH:HH:HH:HH;MAC地址
0000-00-00⽇期,空⽩字符是空格
>AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#许可证号,空⽩字符是‘_’,所有字母都转换为⼤写————————————————————————————————————————————
实例⼀:EchoMode的显⽰效果
#导⼊⽂本校验器:整数校验器与浮点数校验器,其他⾃定义校验器
from PyQt5.QtGui import QIntValidator,QDoubleValidator,QRegExpValidator
from PyQt5.QtCore import QRegExp
import sys
class lineEditDemo(QWidget):
def__init__(self,parent=None):
super(lineEditDemo, self).__init__(parent)
self.setWindowTitle('QLineEdit例⼦')
#实例化表单布局
flo=QFormLayout()
#创建三个⽂本框
pIntLineEdit=QLineEdit()
pDoubleLineEdit=QLineEdit()
pValidatorLineEdit=QLineEdit()
#表单布局添加名称及控件
flo.addRow('整型',pIntLineEdit)
flo.addRow('浮点型',pDoubleLineEdit)
flo.addRow('字母和数字',pValidatorLineEdit)
#设置⽂本框的默认浮现⽂本
pIntLineEdit.setPlaceholderText('整型')
pDoubleLineEdit.setPlaceholderText('浮点型')
pValidatorLineEdit.setPlaceholderText('字母和数字')
#整型范围【1-99】
#实例化整型验证器,并设置范围为1-99
pIntvalidator=QIntValidator(self)
pIntvalidator.setRange(1,99)
#浮点型范围【-360,360】,精度⼩数点后两位
#实例化浮点验证器,设置范围-360到360
pDoubleValidator=QDoubleValidator()
pDoubleValidator.setRange(-360,360)
pDoubleValidator.setNotation(QDoubleValidator.StandardNotation) #设置精度⼩数点后两位
pDoubleValidator.setDecimals(2)
#字母和数字
#设置⽂本允许出现的字符内容
reg=QRegExp('[a-zA-Z0-9]+$')
textbox控件边框设置#⾃定义⽂本验证器
pValidator=QRegExpValidator(self)
#设置属性
pValidator.setRegExp(reg)
#设置验证器
pIntLineEdit.setValidator(pIntvalidator)
pDoubleLineEdit.setValidator(pDoubleValidator)
pValidatorLineEdit.setValidator(pValidator)
self.setLayout(flo)
if __name__ == '__main__':
app=QApplication(sys.argv)
win=lineEditDemo()
win.show()
<_())

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。