当前位置: 首页 > 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()

运行效果如下:

代码示例

相关文章:

  • 冰箱智能化升级方案:WT3000A离在线AI语音模组赋能AI在线对话功能
  • 10.Linux进程信号
  • C++11新增重要标准(下)
  • Java应用Flink CDC监听MySQL数据变动内容输出到控制台
  • 【Go核心编程】第十三章:接口与多态——灵活性的艺术
  • 计算机考研408真题解析(2024-15 整数乘法运算的四种实现方式)
  • Java 反射机制详解及示例
  • Java 中 synchronized 和 ReentrantLock 的全面对比解析
  • LeetCode hot100---152.乘机最大子数组
  • Protobuf 中的类型查找规则
  • MS358A 低功耗运算放大器 车规
  • 在 Windows 11 或 10 上将 Git 升级到最新版本的方法
  • Linux【4】------RK3568启动和引导顺序
  • JAVA理论第五章-JVM
  • ubuntu服务器件如何配置python环境并运行多个python脚本
  • Ubuntu20.04基础配置安装——系统安装(一)
  • 应急响应思路
  • 【超详细】英伟达Jetson Orin NX-YOLOv8配置与TensorRT测试
  • 深入理解 Vue.observable:轻量级响应式状态管理利器
  • Vue 项目实战:三种方式实现列表→详情页表单数据保留与恢复
  • 赌博游戏网站怎么自己做/网络广告网站
  • 如何查看网站页面大小/seo入门培训学多久
  • 网站视差怎么做/网站推广软件下载
  • 做网站之前需要准备什么条件/苏州网站制作
  • 英语网站建设/上海单个关键词优化
  • 东营两学一做网站/站长工具使用