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

news2025/6/8 10:26:50

文章目录

  • 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.coloradmin.cn/o/2404021.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构】6. 时间与空间复杂度

文章目录 一、算法效率1、算法的复杂度 二、时间复杂度1、时间复杂度的概念2、大O的渐进表示法3、常见时间复杂度计算1)实例12)实例23)实例34)实例45)实例56)实例67)实例78)实例8 三…

基于springboot的藏文古籍系统

博主介绍:高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了多年的设计程序开发,开发过上千套设计程序,没有什么华丽的语言,只有实实在…

重构城市应急指挥布控策略 ——无人机智能视频监控的破局之道

在突发事件、高空巡查、边远区域布控中,传统摄像头常常“看不到、跟不上、调不动”。无人机智能视频监控系统,打破地面视角局限,以“高空布控 AI分析 实时响应”赋能政企单位智能化管理。在城市应急指挥中心的大屏上,一场暴雨正…

声音信号的基频检测(python版本)

import math import wave import array import functools from abc import ABC, abstractmethod import matplotlib import matplotlib.pyplot as plt from matplotlib.gridspec import GridSpec import os import sys# 设计模式部分 class PreprocessStrategy(ABC):"&q…

STM32 控制12VRGB灯带颜色亮度调节,TFTLCD显示

接了一个同学的小项目,要实现控制一个实体,控制灯带的亮度为红/绿/蓝/白/黄以及亮度的叠加。 时间要的比较急,要两天实现,因此不能打板,只能采用现有模块拼接。 一. 实施方案 一开始觉得很简单,就是使用五…

【JJ斗地主-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞 …

《绩效管理》要点总结与分享

目录 绩效管理与目标设定 绩效管理的循环:PDCA 绩效目标的设定要点 绩效设定的工具:SMART法则 绩效跟踪与评估 刻板印象:STAR法 晕轮效应:对比评价法 近因效应:关键事项评估表 绩效面谈 面谈前准备工作 汉堡…

Microsoft前后端不分离编程新风向:cshtml

文章目录 什么是CSHTML?基础语法内联表达式代码块控制结构 布局页面_ViewStart.cshtml_Layout.cshtml使用布局 模型绑定强类型视图模型集合 HTML辅助方法基本表单验证 局部视图创建局部视图使用局部视图 高级特性视图组件依赖注入Tag Helpers 性能优化缓存捆绑和压缩…

【评测】用Flux的图片文本修改的PS效果

【评测】Flux的图片文本修改的PS效果 1. 百度图库找一张有英文的图片 2. 打开https://playground.bfl.ai/image/edit上传图片 3. 输入提示词 “change brarfant to goodbeer” 图片的文字被修改了

数据库管理-第334期 Oracle Database 23ai测试版RAC部署文档(20250607)

数据库管理334期 2024-06-07 数据库管理-第334期 Oracle Database 23ai测试版RAC部署文档(20240607)1 环境与安装介质2 操作标准系统配置2.1 关闭防火墙2.2 关闭SELinux2.3 关闭avahi-daemon2.4 时间同步配置 3 存储服务器配置3.1 配置本地yum源3.2 安装…

AI生成的基于html+marked.js实现的Markdown转html工具,离线使用,可实时预览 [

有一个markdown格式的文档,手头只有notepad的MarkdownPanel插件可以预览,但是只能预览,不能直接转换为html文件下载,直接复制预览的内效果又不太好,度娘也能找到很多工具,但是都需要在线使用。所以考虑用AI…

机器学习:load_predict_project

本文目录: 一、project目录二、utils里的两个工具包(一)common.py(二)log.py 三、src文件夹代码(一)模型训练(train.py)(二)模型预测(…

【storage】

文章目录 1、RAM and ROM2、DRAM and SRAM2、Flash Memory(闪存)4、DDR and SPI NOR Flash5、eMMC6、SPI NOR vs SPI NAND vs eMMC vs SD附录——prototype and demo board附录——U盘、SD卡、TF卡、SSD参考 1、RAM and ROM RAM(Random Acce…

JVM 垃圾回收器 详解

垃圾收集器 SerialSerial Old:单线程回收,适用于单核CPU场景ParNewCMS:暂停时间较短,适用于大型互联网应用中与用户交互的部分Paraller ScavengeParallel Old:吞吐量高,适用于后台进行大量数据操作G1&#…

FreeRTOS任务之深入篇

目录 1.Tick1.1 Tick的概念1.2 Tick与任务调度1.3 Tick与延时函数 2.任务状态2.1 运行状态 (Running)2.2 就绪状态 (Ready)2.3 阻塞状态 (Blocked)5.4 暂停状态 (Suspended)2.5 特殊状态:删除状态 (Deleted)5.6 任务状态转换2.7 实验 3.Delay函数3.1 两个函数3.2 实…

Linux 系统、代码与服务器进阶知识深度解析

在数字化时代,Linux 系统凭借其开源、稳定、安全的特性,成为服务器领域和软件开发的核心支柱。除了算法优化技巧,Linux 系统在网络服务、容器化技术、服务器安全等方面也蕴含着丰富的知识和实用技术。接下来,我们将深入探讨这些领…

人工智能--AI换脸

本文实现了一个简易的人脸交换程序,主要功能包括:1)检查所需的模型文件是否存在;2)使用预训练的Caffe模型检测图像中的人脸;3)将源图像的人脸区域通过泊松融合无缝地替换到目标图像上。程序通过OpenCV的DNN模块加载人脸检测模型&a…

NLP学习路线图(二十七):Transformer编码器/解码器

一、Transformer概览:抛弃循环,拥抱注意力 传统RNN及其变体(如LSTM、GRU)处理序列数据时存在顺序依赖的瓶颈:必须逐个处理序列元素,难以并行计算,且对长程依赖建模能力较弱。Transformer的革命…

【机器学习】支持向量机实验报告——基于SVM进行分类预测

目录 一、实验题目描述 二、实验步骤 三、Python代码实现基于SVM进行分类预测 四、我的收获 五、我的感受 一、实验题目描述 实验题目:基于SVM进行分类预测 实验要求:通过给定数据,使用支持向量机算法(SVM)实现分…

HA: Wordy靶场

HA: Wordy 来自 <HA: Wordy ~ VulnHub> 1&#xff0c;将两台虚拟机网络连接都改为NAT模式 2&#xff0c;攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.128&#xff0c;靶场IP192.168.23.130 3&#xff0c;对靶机进行端口服务探…