PyQt中,可以对QLineEdit里的内容做一定的限制。本节主要介绍长度限制setMaxLength(int)和只读限制setReadOnly(bool)。长度限制是限制文本框里的输入的字符串的长度,只读限制是只能看,不能对内容进行修改。

  • 长度限制:setMaxLength(int)

  • 获取长度限制:maxLength()

  • 设置只读:setReadOnly(bool)

  • 是否只读:isReadOnly()

# -*- coding: UTF-8 -*-
from PyQt5.Qt import *


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("用户登陆案例")
        self.resize(500, 500)
        self.setup_ui()

    def setup_ui(self):
        widget_w = 150
        widget_h = 40
        margin = 60
        # 添加三个控件
        account = QLineEdit(self)
        pwd = QLineEdit(self)
        pwd.setEchoMode(QLineEdit.Password)
        login = QPushButton(self)
        login.setText("登  陆")

        account.setPlaceholderText("请输入账号")
        pwd.setPlaceholderText("请输入密码")

        pwd.setClearButtonEnabled(True)

        account.resize(widget_w, widget_h)
        pwd.resize(widget_w, widget_h)
        login.resize(widget_w, widget_h)

        x = (self.width() - widget_w) / 2
        account.move(x, self.height() / 5)
        pwd.move(x, account.y() + widget_h + margin)
        login.move(x, pwd.y() + widget_h + margin)

        def cao():
            # print("按钮被按下")
            account_text = account.text()
            pwd_text = pwd.text()
            if account_text == "52txr":
                if pwd_text == "666666":
                    print("登陆成功")
                else:
                    print("密码错误")
                    account.setText("")
            else:
                print("账号不正确")
                pwd.setText("")

        login.clicked.connect(cao)

        # 最大长度限制
        account.setMaxLength(3)      # 账号输入最大的长度
        print(account.maxLength())   # 获取设置的最大长度

        # 只读限制
        account.setReadOnly(True)    # 设置只读
        print(account.isReadOnly())  # 获取是否设置只读


# 方便在模板里进行调试
if __name__ == "__main__":
    import sys

    app = QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())

博主个人公众号
版权声明 ▶ 本网站名称:陶小桃Blog
▶ 本文链接:https://www.52txr.cn/2022/QLineEditLimit1.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!

最后修改:2022 年 09 月 03 日
如果觉得我的文章对你有用,请随意赞赏