当前位置: 首页 > article >正文

PySide6 GUI 学习笔记——常用类及控件使用方法(单行文本控件QLineEdit)

文章目录

  • QLineEdit 介绍
    • 常用方法
    • QLineEdit.EchoMode 取值
    • 光标相关方法
    • 文本选择方法
    • 输入格式化字符(Input Mask)
    • 常用信号
    • QLineEdit 实例

QLineEdit 介绍

继承关系

QLineEdit 是 PySide6(Qt for Python)中用于单行文本输入的控件。它支持文本编辑、光标控制、文本选择、输入掩码、校验器等多种功能,广泛应用于表单、搜索框等场景。

常用方法

方法名说明
setText(str)设置文本内容
text()获取当前文本
clear()清空文本
setReadOnly(bool)设置是否只读
setMaxLength(int)设置最大输入长度
setPlaceholderText(str)设置占位符文本
setEchoMode(QLineEdit.EchoMode)设置回显模式
setValidator(QValidator)设置输入校验器
setInputMask(str)设置输入掩码
undo()撤销
redo()重做
copy()复制
cut()剪切
paste()粘贴

QLineEdit.EchoMode 取值

枚举值说明
QLineEdit.Normal正常显示
QLineEdit.NoEcho不显示
QLineEdit.Password密码模式(显示为*)
QLineEdit.PasswordEchoOnEdit编辑时显示密码,其他时隐藏

光标相关方法

方法名说明
cursorPosition()获取光标位置
setCursorPosition(int)设置光标位置
cursorBackward(bool, int)光标向后移动
cursorForward(bool, int)光标向前移动
home(bool)光标移到行首
end(bool)光标移到行尾

文本选择方法

方法名说明
hasSelectedText()是否有选中文本
selectedText()获取选中的文本
selectionStart()获取选中文本的起始位置
setSelection(start, length)选中指定范围文本
selectAll()全选
deselect()取消选择

输入格式化字符(Input Mask)

字符说明
A必须输入 ASCII 字母或数字
a可选输入 ASCII 字母或数字
N必须输入字母或数字
n可选输入字母或数字
9必须输入数字(0-9)
0可选输入数字(0-9)
#必须或可选输入数字、加减号
X必须输入任意字符
x可选输入任意字符

常用信号

信号名说明
textChanged(str)文本内容发生变化时发出
textEdited(str)用户编辑文本时发出
editingFinished()编辑完成(如回车或失焦)时发出
returnPressed()按下回车键时发出
selectionChanged()选中文本发生变化时发出
cursorPositionChanged(int, int)光标位置变化时发出

QLineEdit 实例

下面是一个简单的示例,用户在第一个 QLineEdit 输入城市名,点击按钮后,查询该城市天气(此处用模拟数据),并将结果显示到第二个 QLineEdit 上:

from PySide6.QtWidgets import (QApplication, QWidget, QVBoxLayout, QHBoxLayout,QLineEdit, QPushButton, QLabel
)# 模拟天气查询函数
def get_weather(city):fake_weather = {"北京": "晴 25℃","上海": "多云 22℃","广州": "小雨 28℃"}return fake_weather.get(city, "未找到该城市天气信息")app = QApplication([])window = QWidget()
window.setWindowTitle("城市天气查询")
layout = QVBoxLayout(window)input_layout = QHBoxLayout()
city_edit = QLineEdit()
city_edit.setPlaceholderText("请输入城市名")
query_btn = QPushButton("查询天气")
input_layout.addWidget(city_edit)
input_layout.addWidget(query_btn)result_edit = QLineEdit()
result_edit.setReadOnly(True)
result_edit.setPlaceholderText("天气信息将在此显示")layout.addLayout(input_layout)
layout.addWidget(result_edit)def on_query():city = city_edit.text().strip()weather = get_weather(city)result_edit.setText(weather)query_btn.clicked.connect(on_query)window.show()
app.exec()

运行效果如下:

代码示例

http://www.lryc.cn/news/2404021.html

相关文章:

  • 【数据结构】6. 时间与空间复杂度
  • Python 函数全攻略:函数进阶(生成器、闭包、内置函数、装饰器、推导式)
  • 基于springboot的藏文古籍系统
  • 重构城市应急指挥布控策略 ——无人机智能视频监控的破局之道
  • 声音信号的基频检测(python版本)
  • STM32 控制12VRGB灯带颜色亮度调节,TFTLCD显示
  • Hive开窗函数的进阶SQL案例
  • 【JJ斗地主-注册安全分析报告】
  • 《绩效管理》要点总结与分享
  • Microsoft前后端不分离编程新风向:cshtml
  • 【评测】用Flux的图片文本修改的PS效果
  • 青少年编程与数学 01-011 系统软件简介 01 MS-DOS操作系统
  • 数据库管理-第334期 Oracle Database 23ai测试版RAC部署文档(20250607)
  • springCloud2025+springBoot3.5.0+Nacos集成redis从nacos拉配置起服务
  • AI生成的基于html+marked.js实现的Markdown转html工具,离线使用,可实时预览 [
  • 机器学习:load_predict_project
  • OkHttp 3.0源码解析:从设计理念到核心实现
  • 【storage】
  • 微信小程序带参分享、链接功能
  • JVM 垃圾回收器 详解
  • FreeRTOS任务之深入篇
  • Linux 系统、代码与服务器进阶知识深度解析
  • 人工智能--AI换脸
  • NLP学习路线图(二十七):Transformer编码器/解码器
  • 【机器学习】支持向量机实验报告——基于SVM进行分类预测
  • 策略模式实战:Spring中动态选择商品处理策略的实现
  • 主流信创数据库对向量功能的支持对比
  • Matlab | matlab中的画图工具详解
  • HA: Wordy靶场
  • 6.7本日总结