PyQt5 Widgets — QLineEdit

本文详细介绍了PyQt5中的QLineEdit组件,用于单行文本输入,支持设置最大长度、监听编辑事件和使用输入掩码进行输入验证。展示了如何连接信号以响应用户操作。
摘要由CSDN通过智能技术生成

本文翻译自:PyQt5 Widgets

QLineEdit是一个用户可以用来通过打字输入的方式进行单行文本编辑的widget。这些用于表单字段或设置,其中没有有效输入的限制列表。比如,当输入电子邮件地址,或计算机名称:

import sys

from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPixmap
from PyQt5.QtWidgets import (
	QApplication,
	QCheckBox,
	QComboBox,
	QDoubleSpinBox,
	QLabel,
	QLineEdit,
	QListWidget,
	QMainWindow,
	QSlider,
	QSpinBox,
)

class MainWindow(QMainWindow):
	def __init__(self):
		super(MainWindow, self).__init__()
		
		self.setWindowTitle("My App")
		
		widget = QLineEdit()
		widget.setMaxLength(10)
		widget.setPlaceholderText("Enter Your Text")
		
		widget.returnPressed.connect(self.return_pressed)
		widget.selectionChanged.connect(self.selection_changed)
		widget.textChanged.connect(self.text_changed)
		widget.textEdited.connect(self.text_edited)
		
		self.setCentralWidget(widget)
	
	def return_pressed(self):
		print("Return pressed!")
		self.centralWidget().setText("BOOM!")
	
	def selection_changed(self):			# 处理鼠标的点击
		print("Selection changed!")
		print(self.centralWidget().selectedText())
	
	def text_changed(self, s):			# 改变文本
		print("Text changed ... ")
		print(s)
	
	def text_edited(self, s):			# 编辑文本
		print("Text edited ... ")
		print(s)

app = QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec()

运行结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

就像上述代码描述的那样,你可以使用setMaxLength()设置行编辑框中文本的最大长度。QLineEdit有若干个信号适合于不同的编辑事件,包括当回车键被用户按下,以及当用户选择改变时。这里也有两个编辑信号,一个是当行中文本已经被编辑,一个是当行中文本已经被改变。只有当用户编辑文本时,信号textEdited才会发出。

此外,可以使用输入掩码来执行输入验证,以定义支持哪些字符以及支持哪些字符。比如向下面这样:

widget.setInputMask('000.000.000.000;_')

这可以被用来验证IPv4地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值