PyQt5入门之QLineEdit
QLineEdit:输入单行文本
下面描述了默认的键绑定。行编辑还提供了一个上下文菜单(通常通过单击鼠标右键进行调用),它提供了其中一些编辑选项。
按键 | 动作 |
---|---|
Left Arrow | 将光标向左移动一个字符。 |
Shift+Left Arrow | 移动并选择一个文字左边的文字。 |
Right Arrow | 将光标向右移动一个字符。 |
Shift+Right Arrow | 移动并选择文本向右移动一个字符。 |
Home | 将光标移动到该行的开头。 |
End | 将光标移动到该行的最后。 |
Backspace | 删除光标左边的字符。 |
Ctrl+Backspace | 删除光标左侧的单词。 |
Delete | 删除光标右侧的字符。 |
Ctrl+Delete | 删除光标右侧的单词。 |
Ctrl+A | 全选。 |
Ctrl+C | 将选定的文本复制到剪贴板。 |
Ctrl+Insert | 将选定的文本复制到剪贴板。 |
Ctrl+K | 删除到行尾。 |
Ctrl+V | 将剪贴板文本粘贴到行编辑中。 |
Shift+Insert | 将剪贴板文本粘贴到行编辑中。 |
Ctrl+X | 删除选定的文本并将其复制到剪贴板。 |
Shift+Delete | 删除选定的文本并将其复制到剪贴板。 |
Ctrl+Z | 取消最后的操作。 |
Ctrl+Y | 重做最后的撤消操作。 |
任何其他表示有效字符的键序列都会导致字符被插入到行编辑中。
EchoMode(回显模式)
1.Normal:输入什么显示什么
2:NoEcho:输入什么不显示,但是已经提交了
3.Password:输入什么最后在界面显示为****
4.PasswordEchoOnEdit :编辑时显示为正常,失去焦点后转换为***
校验器
QIntValidator: 整形校验器只能输入整形数字
方法:setRange(最小值,最大值)
pyqt5该方法有bug,并不能限制输入输出的最小最大值只会限制为输入的位数不超过最大值不小于最小值
QDoubleValidator:浮点型校验器
方法::setRange(最小值,最大值,精度)
QRegExpValidator:正则表达式校验器
方法:
reg=QRegExp('正则表达式')
qreg=QRegExpValidator()
qreg.setRegExp(reg)
掩码
用掩码来限制输入
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys
class MyWindow(QWidget):
def __init__(self):
super(MyWindow,self).__init__()
self.name=None
self.password1=None
self.password2 = None
self.password3 = None
self.button=None
self.res=None
self.mask=None
self.setupUi()
def setupUi(self):
self.setWindowTitle("文本输入框")
self.resize(400,200)
form=QFormLayout(self)#创建一个表单布局
form.setSpacing(30)#设置该布局上控件之间的间隔
name=QLineEdit(self)
password1=QLineEdit(self)
password2 = QLineEdit(self)
password3 = QLineEdit(self)
mask=QLineEdit(self)
button=QPushButton(self)
res=QLabel(self)
form.addRow("姓名",name)
form.addRow("密码1",password1)
form.addRow("密码2", password2)
form.addRow("密码3", password3)
form.addRow("掩码",mask)
form.addRow("提交",button)
form.addRow("结果",res)
# 设置提示
name.setPlaceholderText("请输入姓名")
password1.setPlaceholderText("请输入整型数字密码")
password2.setPlaceholderText("请输入浮点型数字密码")
password3.setPlaceholderText("请输入数字和字符的混合密码")
mask.setPlaceholderText("请输入掩码")
# 设置三种回显模式
password1.setEchoMode(QLineEdit.NoEcho)
password2.setEchoMode(QLineEdit.Password)
password3.setEchoMode(QLineEdit.PasswordEchoOnEdit)
#设置校验器
password1val=QIntValidator(self)#整形校验器
password1val.setRange(1,88)
#(1,88) 输入范围为0到99
#(-1,88)输入范围为-9到99
#该限制为不超过最大值的位数和不小于最小值的位数
password2val = QDoubleValidator(self)#浮点型校验器
password2val.setRange(-1,50,2)#设置为-9到99精度为2
password2val.setNotation(QDoubleValidator.StandardNotation)#设置浮点数为标准表示法
reg=QRegExp('[a-zA-Z0-9]+')#正则表达式
password3val = QRegExpValidator(self)
password3val.setRegExp(reg)
password1.setValidator(password1val)
password2.setValidator(password2val)
password3.setValidator(password3val)
mask.setInputMask(">N:N:N")
button.setText("确定")
button.clicked.connect(self.setRes)
self.name=name
self.password1=password1
self.password2 = password2
self.password3 = password3
self.mask=mask
self.button=button
self.res=res
def setRes(self):
self.res.setText("您的姓名为:\n"+self.name.text()+"\n您的密码为:\n1: %s \n2: %s \n3: %s"%(self.password1.text(),self.password2.text(),self.password3.text())+"\n您的掩码为:\n"+self.mask.text())
if __name__ == '__main__':
app=QApplication(sys.argv)
window=MyWindow()
window.show()
sys.exit(app.exec_())
PyQt5入门之QLineEdit的更多相关文章
- PyQt5 入门
换了VSCODE开发,感觉比sublime好点,可能是由于第三版老弹框烦人吧.VSCODE看着也挺好看的. 学习 PyQt5 中文教程 0. 安装完之后错误 pip 安装了 pyqt5 from Py ...
- PyQt5入门
PyQt5 是用来创建Python GUI应用程序的工具包.作为一个跨平台的工具包,PyQt可以在所有主流操作系统上运行(Unix,Windows,Mac). 本文描述Windows系统下如何安装Py ...
- PyQt5入门教程
原文链接:https://blog.csdn.net/azuremouse/article/details/90338961 问题记录: 1. pip 安装时速度太慢, 需要使用国内镜像 pip in ...
- 推荐:pyqt5入门教程
版权声明:本文为CSDN博主「AzureMouse」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/azure ...
- Python3使用PyQt5制作简单的画板/手写板
0.目录 1.前言 2.简单的画板1.0 在定点和移动中的鼠标所在处画一条线 3.简单的画板2.0 在定点和移动中的鼠标所在处画一条线 并将画过的线都保留在窗体上 4.简单的画板3.0 将按住鼠标后移 ...
- Pyqt5的事例讲解
1.第一个gui程序 import sys from PyQt5.QtWidgets import QApplication from PyQt5.QtWidgets import QMainWind ...
- 【python学习】PyQt基础学习以及一个信息论与编码课设实例
这学期的信息论与编码的课设需要用编程语言实现霍夫曼.费诺以及香农编码,要具备在windows下的可视化操作界面,因此就选用PyQt作为开发工具,本篇博客记录一下PyQt的基础以及课设的实例 参考: & ...
- PyQt:个性化登录界面模仿QQ登录
写在前面 写了一个登录界面的demo,类似QQ的,写的自己喜欢的样式,贴一下代码,先上效果,如下 陈述 PyQt5+Python3.5.2 login.py是里登录的主界面loginWnd类,Head ...
- Python校验文件MD5值
import hashlib import os def GetFileMd5(filename): if not os.path.isfile(filename): return myHash = ...
- 使用pyqt写了一个检查大数据环境的gui
通过pyqt做了一个大数据最佳实践检查的gui界面 1.首先是需要用到的模块 from PyQt5.QtWidgets import QApplication from PyQt5.QtWidgets ...
随机推荐
- 如何在 Apinto 实现 HTTP 与gRPC 的协议转换 (上)
什么是 gRPC 像gRPC是由google开发的一个高性能.通用的开源 RPC 框架,主要面向移动应用开发且基于HTTP/2协议标准而设计,同时支持大多数流行的编程语言. gRPC基于 HTTP/2 ...
- 认识流媒体协议,从 RTSP 协议解析开始!
RTSP 是 Internet 协议规范,是 TCP/IP 协议体系中的一个应用层协议级网络通信系统.专为娱乐(如音频和视频)和通信系统的使用,以控制流媒体服务器.该协议用于在端点之间建立和控制媒体会 ...
- 组合计数中的q-模拟 q analog
拒绝更新,深度和广度上建议看这个pdf URL里面用到的一些query-string过期了,,, 论文题目是 THE q-SERIES IN COMBINATORICS; PERMUTATION ST ...
- 20个值得收藏的实用JavaScript技巧
1.确定对象的数据类型 function myType(type) { return Object.prototype.toString.call(type).slice(8, -1); 使用Obje ...
- MarkdownStudy02DOS窗口
打开dos窗口 开始里面win系统 win+r,输入cmd 在任意文件下,按住shift+鼠标右键点击,在此处打开PowerShell窗口 资源管理器的地址栏前面加上cmd路径 管理员身份运行 常用的 ...
- 原生请求 js、jquery封装的ajax请求、axios请求与fetch请求区别与优缺点
原生JS请求 现代浏览器,最开始与服务器交换数据,都是通过XMLHttpRequest对象.它可以使用JSON.XML.HTML和text文本等格式发送和接收数据. 首先我们先把原生的请求封装一下: ...
- 在ArcGIS Pro中对Revit的bim数据进行地理配准(平移、旋转等)
在ArcGIS Pro中,打开Revit的rvt格式数据,默认是没有坐标系,且位置会放置在原点位置(0,0),在实际使用过程中,需要对rvt数据进行地理配准,包括平移.旋转等操作将bim数据放置在正确 ...
- k8s 1.24 1.25 集群使用docker作为容器
Kubernetes 1.24 1.25 集群使用docker作为容器 背景 在新版本Kubernetes环境(1.24以及以上版本)下官方不在支持docker作为容器运行时了,若要继续使用docke ...
- Java设计模式 —— 观察者模式
16 观察者模式 16.1 观察者模式概述 Observer Pattern: 定义对象之间的依赖关系(一对多),当一个对象的状态发生改变时,其关联的依赖对象均收到通知并自动更新. 观察者模式又称:发 ...
- 无法加载 DLL“xxxx.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
有一台服务器在执行接口的时候遇到了这样一个问题: 其他服务器上都没有这个问题,IIS部署好的项目目录的bin文件夹下是有这个dll的,但却提示无法加载,在网上找了好多帖子,终于发现了问题. 首先用De ...