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

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.lqws.cn/news/216253.html

相关文章:

  • 网页绘制表格
  • FastAPI安全机制:从OAuth2到JWT的魔法通关秘籍
  • ADVANTEST R3764 66 R3765 67爱德万测试networki connection programming网络程序设计手册
  • [逆向工程] C实现过程调试与钩子安装(二十七)
  • 【LRU】 (最近最少使用)
  • 数据类型--实型
  • 【Java学习笔记】String类总结
  • ROS2,工作空间中新建了一个python脚本,需要之后作为节点运行。告诉我步骤?
  • MySQL-运维篇
  • 【LLM大模型技术专题】「入门到精通系列教程」基于ai-openai-spring-boot-starter集成开发实战指南
  • 中山大学美团港科大提出首个音频驱动多人对话视频生成MultiTalk,输入一个音频和提示,即可生成对应唇部、音频交互视频。
  • 音频剪辑软件少之又少好用
  • selenium自动化测试学习心得1
  • 【win | 自动更新关闭】win11
  • Maven的配置与运行
  • OpenWrt:使用ALSA实现边录边播
  • 手机号段数据库与网络安全应用
  • 【CSS-6】深入理解CSS复合选择器:提升样式表的精确性与效率
  • robot_lab train的整体逻辑
  • tableau 实战工作场景常用函数与LOD表达式的应用详解
  • exec进程替换函数族
  • 使用 Redisson 实现分布式锁—解决方案详解
  • CMake检测C编译器标志功能
  • gopool 源码分析
  • 跨平台资源下载工具:res-downloader 的使用体验
  • electron-vite串口通信
  • 第9篇:数据库中间件的容错机制与高可用架构设计
  • 阿里云 RDS mysql 5.7 怎么 添加白名单 并链接数据库
  • 34 C 语言字符串转数值函数详解:strtol、strtoll、strtoul、strtoull(含 errno 处理、ERANGE 错误)
  • 坚持每日Codeforces三题挑战:Day 4 - 题目详解(2025-06-07,难度:1000, 1100, 1400)