文本框是GUI界面中使用频率较高的控件,文本框又分为单行文本框和多行文本框,本文先讲单行文本框,单行文本框用途很广,比如密码账号密码框、搜索栏、路径地址栏等。

3.1简介

QLineEdit可以输入和显示文本信息,同时可以设置显示格式和文本框属性,QLineEdit类中常用的方法如下表所示。

QLineEdit类中常用信号如下:

textChanged(str)只要文字发生变化就会发出此信号。当通过调用setText()以编程方式更改文本时,也会发出此信号,而editingFinished()按下返回或回车键或线条编辑失去焦点时发出此信号。

3.2 QLineEdit实例

首先使用QT Designer拖几个控件,效果如下:

接下来就是实现到逻辑代码。

# -*- coding: utf-8 -*-
"""
@file                mainMainpage.py
@author              BruceOu
@version             V1.0
@date                2021-11-25
@blog                https://blog.bruceou.cn/
@Official Accounts   嵌入式实验楼
@brief               MainWindow
"""
from PyQt5 import QtWidgets
from PyQt5.QtGui import QGuiApplication, QIcon, QDesktopServices, QFont
from PyQt5.QtWidgets import QApplication, QWidget, QMessageBox, QButtonGroup, QToolButton, QMenu, QAction
from PyQt5.QtCore import Qt,QUrl
import re from ui.ui_mainpage import Ui_MainWindow## MainWindow
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):#initdef __init__(self, parent=None):super(MainWindow, self).__init__(parent)self.setWindowTitle('QRadioButton')self.setupUi(self)self.show()## login ################################################################################################# userself.lineEditUser.setPlaceholderText('Please enter user name')self.lineEditUser.setStyleSheet("color:red")## set font## 方法一font = QFont()font.setFamily('微软雅黑')font.setBold(True)font.setPointSize(10)font.setWeight(75)self.lineEditUser.setFont(font)## 方法二# self.lineEditUser.setFont(QFont('微软雅黑', 20))## 设置用户名的最大输入为16self.lineEditUser.setMaxLength(16)## Passwordself.lineEditPassword.setPlaceholderText('Please enter password')self.lineEditPassword.setEchoMode(QtWidgets.QLineEdit.Password)## PasswordNoechoself.lineEditPasswordNoecho.setEchoMode(QtWidgets.QLineEdit.NoEcho)self.lineEditPasswordNoecho.setPlaceholderText('Please enter password')## PasswordEchoOnEditself.lineEditPasswordEchoOnEdit.setEchoMode(QtWidgets.QLineEdit.PasswordEchoOnEdit)self.lineEditPasswordEchoOnEdit.setPlaceholderText('Please enter password')## setting ############################################################################################## IPself.lineEditIP.setInputMask('000.000.000.000;_')self.lineEditMask.setInputMask('000.000.000.000;_')### eventself.lineEditPassword.editingFinished.connect(self.check_password)self.pushButtonLogin.clicked.connect(self.btn_clicked) ## 绑定按钮事件self.pushButtonSetting.clicked.connect(self.btn_clicked)def check_password(self):"""Brief----------check passwordParameters----------NoneReturns----------None"""        sender = self.sender()passwd = sender.text()if(len(passwd) < 6 or len(passwd) > 16):QMessageBox.warning(self, 'Warning','The password should be 6 - 16!')elif(None == re.match("^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])).*$" ,passwd)):QMessageBox.warning(self, 'Warning','Password must contain uppercase and lowercase letters and numbers!')else:passdef btn_clicked(self):"""Brief----------pushButton clickedParameters----------NoneReturns----------None"""sender = self.sender()if(sender == self.pushButtonLogin):QMessageBox.about(self, 'Login','User: {}, Password: {}, PasswordNoecho: {}, PasswordEchoOnEdit: {}'\.format(self.lineEditUser.text(), self.lineEditPassword.text(), self.lineEditPasswordNoecho.text(), self.lineEditPasswordEchoOnEdit.text()))elif(sender == self.pushButtonSetting):QMessageBox.about(self, 'Setting','IP: {}, Mask: {}'\.format(self.lineEditIP.text(), self.lineEditMask.text())) def closeEvent(self, event):"""Brief----------Close EventParameters----------eventReturns----------None"""event.accept()

【完整代码参考附件QLineEdit】

演示效果:


代码很简单,只是根据前面的API根据实际情况使用就可以了,下面就挑几个讲解了。

setPlaceholderText(str)表示设置行文本的提示文字,设置此属性将使行编辑显示一个灰色的占位符文本,当有输入文字时,提示文字就会消失。

setInputMask()用于设置掩码,主要在IP地址、License、日期等地方用到,用于限定输入格式。掩码由掩码字符与分隔符字符串组成,后面可以跟一个分号和空白字符。

常用掩码示例如下:


资源获取方法

1.扫描下面二维码,关注公众号[AI实验楼]
2.在公众号回复关键词[PyQt5]获取资料提取码


欢迎访问我的网站

BruceOu的哔哩哔哩
BruceOu的主页
BruceOu的博客
BruceOu的CSDN博客
BruceOu的简书
BruceOu的知乎

《PyQT5软件开发 - 控件篇》第3章 单行文本框QLineEdit相关推荐

  1. windows编程 标准控件的使用(按钮,文本框)

    文章目录 基本控件的使用 标准控件的创建 移动按钮 获取文本框的内容 自动设置文本框内容 设置父窗口 枚举出所有窗口 测试代码 基本控件的使用 标准控件的创建 在我们创建窗口并且在CREATE的时候创 ...

  2. 【Android】App开发-控件篇

    App开发是一个工作量比较大的项目,要学习App开发首先我们要先去学习手机中的各类工具和信息是怎么运行的,我们可以使用哪些工具来对手机进行设置.这里我采用的开发工具是Android studio. 目 ...

  3. QT软件开发之基础控件--2.4.1 lineEdit单行文本编辑器

    2.4.1 lineEdit单行文本编辑器 单行文本输入框在用于界面的文本输入应用比较广泛.单行文本编辑框用处较广泛,比如普通数据输入框.登录界面常见的用户名.密码输入框,搜索框等等,QLineEdi ...

  4. 【QT开发笔记-基础篇】| 第二章 常用控件 | 2.12 表格控件 QTableWidget

    本节对应的视频讲解:B_站_链_接 QTableWidget 是 Qt 中的表格控件,可以行列的形式来展示数据 1. 属性和方法 QTableWidget 有很多属性和方法,完整的可查看帮助文档. 在 ...

  5. Winform下的地图开发控件(GMap.NET)使用心得之二

    在上篇<Winform下的地图开发控件(GMap.NET)使用心得>中简单介绍了GMap.NET的控件基本情况,本篇开始介绍一下相关的代码操作. 其实目前GMap.NET提供的功能还不是很 ...

  6. Delphi 7学习开发控件

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 我们知道 ...

  7. PyQt5 基本窗口控件(状态栏/窗口/图标/提示消息/QLabel/文本类控件)

    文章目录 1. 状态栏 2. 窗口居中显示 3. 关闭窗口 4. QWidget 5. 添加图标 6. 气泡提示信息 7. QLabel 添加快捷键 8. QLineEdit echoMode 验证器 ...

  8. PyQt5:常用控件

    0.概述 控件是开发GUI程序必不可少的组成部分.就像盖房子用到的砖和瓦一样.PyQt5中的控件很多,本文介绍接种常用控件,其他控件的应用大同小异. QAbstractButton类为抽象类,不能实例 ...

  9. 种草!.NET开发控件集ComponentOne Studio Enterprise!

    身为开发人员的你,是否在寻找一款专业又好用的.NET控件呢? .NET开发的"瑞士军刀"--ComponentOne Studio Enterprise满足您的需求! Compon ...

最新文章

  1. 2018机器阅读理解竞赛冠军分享:问答系统新思路
  2. 轻量级微服务架构【读书笔记2】
  3. 网站栏目该如何做SEO优化?
  4. selenium 等待页面加载完成
  5. Java虚拟机(五)——程序计数器
  6. MTK 驱动开发(32)---Sensor 移植及调试2
  7. 社区团购“九不得”:低价倾销、大数据“杀熟”被禁止
  8. java 字符串编程题_Java编程题——在一个字符串中查找第一个非重复的字符
  9. 关于一些Excel宏病毒的清除方法整理合集
  10. centos7 中彻底卸载mysql
  11. 关于js的match用法
  12. 给领导干部讲计算机课的开场,学习计算机课程的心得(1)讲课讲稿.pdf
  13. 网站项目计划书(参考)
  14. 过去的过去,未来的未来
  15. step7和wincc联合仿真_过路老熊_新浪博客
  16. 京东数科java一面【过】
  17. vue项目点击左侧子菜单,打开一个新的浏览器标签页
  18. 轻松玩转Windows平板
  19. 数据结构与算法(十二)并查集(Union Find)及时间复杂度分析
  20. Unity3D之天空盒子和雾效

热门文章

  1. django问题研讨:由master=true引发的奇怪现象
  2. IC设计书籍信息收集
  3. PHPStorm 常用 设置配置 和快捷键大全 Win/Mac
  4. Mysql5.7在上亿级别的存储性能测试报告 Mysql到底可不可以支持单表过亿?要分区么?分表?...
  5. html 屏幕旋转,屏幕旋转与Transform
  6. 很多APP都支持了 “本机号码一键登录”,知道是怎么实现么?
  7. MATLAB如何提取曲线原始数据
  8. 【OJ每日一练】1049 - 矩阵对角线元素之和 v1.0
  9. unity-动画 Animation read-only 问题
  10. 网传三星手机大半夜黑屏乱码,原因竟然是闰四月?