首页 > 其他分享 >11.PyQt5【基本组件】单行输入框-QLineEdit

11.PyQt5【基本组件】单行输入框-QLineEdit

时间:2023-01-16 10:44:34浏览次数:47  
标签:11 设置 self line2 PyQt5 输入框 line1 QLineEdit 文本

一、前言

QLineEdit是最常用的输入字段。它提供了一个框,可以在其中输入一行文本。

二、学习目标

1.QLineEdit常用方法

2.QLineEdit常用信号

3.QLineEdit组件的应用

三、知识点

1.【QLineEdit常用方法】

方法 描述
text() 返回文本框内容
setText() 设置文本框内容
setAlignment() 按固定值方式对齐文本
Qt.AlignLeft:水平方向靠左对齐
Qt.AlignRight:水平方向靠右对齐
Qt.AlignCenter:水平方向居中对齐
Qt.AlignJustify:水平方向调整间距两端对齐
Qt.AlignTop:垂直方向靠上对齐
Qt.AlignBottom:垂直方向靠下对齐
Qt.AlignVcenter:垂直方向居中对齐
setReadOnly() 设置文本框为只读
setPlaceholderText() 设置文本框浮显的文字
setMaxLength() 设置文本框所允许输入的最大字符数
setInputMask() 设置掩码
setValidator() 设置文本框的验证规则,校验器如下:
QIntValidator:限制输入整数
QDoubleValidator:限制输入浮点数
QRegexpValidator:检查输入是否组合正则表达式
clear() 清除文本框内容
setEchoMode() 设置文本框显示格式
QLineEdit.Normal:正常显示所输入的字符,此为默认
QlineEdit.NoEcho:不显示热河输入的字符,常用于密码类型的输入,且其密码长度需要保密时
QlineEdit.Password:显示与平台相关的密码掩码字符,而不是实际输入的字符
QlineEdit.PasswordEchoOnEdit:在编辑室显示字符,负责显示密码类型的输入
setDragEnabled() 设置文本框是否接受拖动
selectAll() 全选
cursorPositionAt() 返回光标的位置
selectedText() 得到当前被选中的文本
setClearButtonEnabled() 设置当行编辑内容不为空时是否显示清除按钮。
setFrame() 设置边框,True 存在边框(默认),False 去掉边框
setCompleter() 设置行编辑控件补全模板

2.【QLineEdit常用信号】

信号 说明
textChanged 当修改文本内容时,这个信号会被发射
textEdited 当文本被编辑时,就会发射这个信号
returnPressed 光标在行编辑框内时,点击回车键即发射信号
selectionChanged 当选择的文本内容改变了,这个信号就会被发射
editingFinished 当按返回或者回车键时,或者行编辑失去焦点时,这个信号会被发射
cursorPositionChanged 当焦点,即光标位置改变就发射信号
inputRejected 当用户输入不合法字符时,将发出此信号。前提要 setValidator() 等设置合法字符范围,Qt 5.12 版本新增。

3.【QLineEdit组件的应用】

import sys
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLineEdit


class QmyWidget(QWidget):

    def __init__(self, parent=None):
        super().__init__(parent)  # 调用父类的构造函数,创建QWidget窗体
        self.setupUi()

    def setupUi(self):
        """页面初始化"""
        # 设置窗体大小及标题
        self.resize(500, 400)
        self.setWindowTitle("QLineEdit组件示例")
        # 创建布局
        self.layout = QVBoxLayout()

        # QLineEdit组件定义
        self.line1 = QLineEdit(self)
        self.line1.setText("第一个单行文本")
        self.line2 = QLineEdit('第二个单行文本', self)
        # QLineEdit组件设置
        self.line1.setReadOnly(True)          # line1设置只读
        self.line2.setPlaceholderText("请输入单行文本!")
        # QLineEdit关联信号
        self.line2.editingFinished.connect(self.on_line2_editingFinished)

        # 将组件添加到布局中
        self.layout.addWidget(self.line1)
        self.layout.addWidget(self.line2)
        # 为窗体添加布局
        self.setLayout(self.layout)

    def on_line2_editingFinished(self):
        """line2组件槽函数"""
        print("line2文本被修改啦!")


if __name__ == '__main__':
    app = QApplication(sys.argv)
    myMain = QmyWidget()
    myMain.show()
    sys.exit(app.exec_())
  • 关键代码

            # QLineEdit组件定义
            self.line1 = QLineEdit(self)
            self.line1.setText("第一个单行文本")
            self.line2 = QLineEdit('第二个单行文本', self)
            # QLineEdit组件设置
            self.line1.setReadOnly(True)          # line1设置只读
            self.line2.setPlaceholderText("请输入单行文本!")
            # QLineEdit关联信号
            self.line2.editingFinished.connect(self.on_line2_editingFinished)
    

    定义两个单行文本组件,分别为line1设置只读,为line2设置提示文本(只有为空时显示),并为line2关编辑信号。editingFinished编辑信号是在全部文本输入完成后触发;textChanged信号是每输入完一个字符则触发。


标签:11,设置,self,line2,PyQt5,输入框,line1,QLineEdit,文本
From: https://www.cnblogs.com/ckxingchen/p/17054865.html

相关文章

  • 12.PyQt5【基本组件】多行输入框-QTextEdit
    一、前言QTextEdit文本输入框可以输入多行文本。二、学习目标1.QTextEdit常用方法2.QTextEdit常用信号3.QTextEdit组件的应用三、知识点1.【QTextEdit常用方法】......
  • P3524 [POI2011]IMP-Party 题解
    题目传送门更好的阅读体验前置芝士团设\(V\)为\(G\)子图,当\(V\)中任意两点都有边相连,则\(V\)为\(G\)的一个团。此图为本题样例最大团:\(\{1,3,4,5\}\)......
  • 2.PyQt5【窗口组件】对话框-Dialog
    一、前言QDialog类是对话框窗口的基类。对话框窗口是主要用于短期任务以及和用户进行简要通讯的顶级窗口。QDialog可以是模态对话框也可以是非模态对话框。QDialog支......
  • win11配置深度学习环境GPU
    参考网址:https://zhuanlan.zhihu.com/p/460806048CUDA11.6 + CUDNN+ Anaconda+ pytorch 电脑信息RTX2060GPU01.CUDA11.61.1 确认信息C:\Users\thzn>n......
  • vue 封装密码输入框(屏蔽浏览器反显,禁止粘贴)
    vue封装密码输入框(屏蔽浏览器反显,禁止粘贴) 备注:使用了ant-design-vue,可以换其他组件输入框或原生<template><a-inputstyle="ime-mode:disabled":valu......
  • sc stream-rabbit笔记20230115
            ......
  • 130116 学英语新的感悟-单词与句子的忘记
    周末,重拾欧陆的句子的记忆,有了新的感悟.你的学习的基本架构是单词--->短语--->句子.而你学习的根本目的,就是能够听懂,会写,会说,核心就是你如何了这个单词,知道如何去......
  • 20211217|写给一年后的培民的一封信
    亲爱的民:培民,见面如晤,没错这是一封来自一年前的信。自四月份考试结束,我就游荡于广州和深圳,记4.14下午自广州到深圳,第一站即是找立彬,我自知今年插本已是与我无缘,随即开始......
  • 20211217|写给一年后的立彬的一封信
    亲爱的彬:立彬,见面如晤,没错这是一封来自一年前的信。自四月份考试结束,我就游荡于广州和深圳,记4.14下午自广州到深圳,第一站即是找你,顶楼你留了门卡,大门你远程开,晚上下班我......
  • C++11的多线程开发
    多线程并发总览创建线程使用互斥量异步线程原子类型生产者消费者模型线程池‍创建线程#include<iostream>#include<thread>#include<mutex>#include<fu......