一、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:检查输入是否符合正则表达式
setFont()
e1.setFont(QFont(‘Arial’,20))
QLineEdit() 信号:
selectionChanged
只要选择改变了,这个信号就会发射
textChanged
当修改文本内容时,这个信号就会发射
editingFinished
当编辑文本结束时,这个信号就会发射

举个小例子吧
这个例子当中,我们对拼写的单词进行了检查,发现计算机能够猜测出我们可能拼写错误的单词,并给出拼写建议。
单词拼写检查的代码来源互联网(感谢原作者):Python写一个简洁拼写检查器 – CSDN博客
def Ui(self): self.line = QLineEdit(self) self.line.move(20,20) action = QAction(self) action.setIcon(QIcon('check.ico')) action.triggered.connect(self.Check) self.line.addAction(action,QLineEdit.TrailingPosition) #对QAction对象的位置进行设定,设定在文本右边 def Check(self): word = self.line.text() QMessageBox.information(self,'提示信息框','你输入的用户名是: %s"%word)

对于某些语言,从右到左布局是必需的,特别是阿拉伯语和希伯来语。
有过介绍,详情请点击。

QLineEdit.setValidator():设置输入框的验证器,将限制任意可能输入的文本。
我们在学点编程吧:PyQt5系列教程(12):构建我们自己的密码输入框zhuanlan.zhihu.com有过介绍,详情请点击。
QLineEdit.setPlaceholderText(str):该属性包含行编辑的占位符文本。只要行编辑为空,设置此属性将使行编辑显示一个灰色的占位符文本。

通常情况下,即使具有焦点,空行编辑也会显示占位符文本。但是,如果内容是水平居中的,则行编辑具有焦点时,占位符文本不会显示在光标下方。默认情况下,该属性包含一个空字符串。

QLineEdit.isClearButtonEnabled(bool) :是否设置清除内容的按钮。

掩码由掩码字符和分隔符字符串组成,后面可以跟一个分号和用于空白的字符,空白字符在编辑后总是从文本中删除。
https://zhuanlan.zhihu.com/p/
在 https://zhuanlan.zhihu.com/p/ 专栏中的视频中我们基本上实现了这个功能,在输入问题提示上没有网易邮箱那么全面,只是给出来了通用的提示信息。
其实还有一个密码输入软键盘的问题,我已经设计好了,但是不属于这个知识点,不做讲解,等后期碰到相关的知识点再做讲解。
self.m_LastCharCount记录了当前没有变化时密码的长度。如果当前的长度大于之前记录的密码长度,很明显,密码在新增字符,所有实际密码是self.m_LineEditText += text[-1],即将新增的字符和原有的密码进行合并。
反之,就删除最后一个字符,所以就用到了self.m_LineEditText = self.m_LineEditText[:-1]。这句话要是大家不理解,我举个简单的例子就明白了。还是看下动画吧。注意看str的变化!

动画中字符串str是不断地减少的,其本质是每次取字符串第0位到最后一位(不含)的字符串。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222097.html原文链接:https://javaforall.net
