公众号:uncle39py

V1

2023/04/26阅读:29主题:默认主题

60.PyQt文本框QLineEdit

QLineEdit提供用户输入单行纯文本

QLineEdit继承自QWidget

1.基础用法

le = QLineEdit("初始值,可不填此参数",self) #构造函数
le.resize(280,25#父类QWidget的方法
le.setText("设置文本内容"#设置文本内容
print(le.text()) #获取真实的内容文本

le.setEchoMode(QLineEdit.EchoMode.Password)
#设置输出模式为密文形式,api如下图

此处记录一个窗口改变事件,当窗口的尺寸发生改变时,会自动执行此处(如下)的方法.

常用于根据窗口大小,重新计算控件的位置,让控件跟着窗口大小的变化而变化

def resizeEvent(self,evt):
    print(1111)

2.文本提示

le.setPlaceholderText("请输入账号")

3.清空文本框

le.setClearButtonEnabled(True)

4.输入限制

le.setMaxLength(3#设置最大长度,只能输入3个字符或者中文
le.maxLength() #获取...
le.setReadOnly(True#可以程序setText,但是无法手动输入

验证器(QValidator),主要针对单行文本框内容进行验证,相对比较琐碎,而且可以用信号与槽,在槽函数里面自个针对输入内容做验证.所以此处暂时没必要去了解

5.自动补全

此功能类似QQ登录界面,当用户登录过某个账号后,下一次登录的时候,只要输入前面的数字,就会有选项提供给用户快速选择

def init_ui(self):
    le = QLineEdit(self)
    completer = QCompleter(["123","270","685"],le)
    le.setCompleter(completer)

6.对齐方式

le.setAlignment(Qt.AlignRight)水平靠右显示

7.信号

textEdited文本框编辑的时候发出信号,

textChanged文本框内容发生改变时发出信号

两者很像,它们的差别是:当用程序代码改变文本框内容的时候,会发出内容改变信号,而不会发出文本框编辑信号

editingFinished结束编辑时发出的信号

分类:

后端

标签:

后端

作者介绍

公众号:uncle39py
V1