QLineEdit学习

QLineEdit

from PyQt5.Qt import *

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QLineEdit的学习")
        self.resize(500,500)
        self.setup_ui()

    def setup_ui(self):
        le=QLineEdit(self)

        le.setText("sz")
        le.insert("18")
        btn=QPushButton(self)
        btn.setText("按钮")
        btn.move(100,100)
        btn.pressed.connect(lambda :le.insert("18"))
if __name__=='__main__':
    import sys
    app=QApplication(sys.argv)
    window=Window()
    window.show()
    sys.exit(app.exec_())

from PyQt5.Qt import *

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QLineEdit的学习")
        self.resize(500,500)
        self.setup_ui()

    def setup_ui(self):
        le_a=QLineEdit(self)
        le_a.move(100,200)
        le_b= QLineEdit(self)
        le_b.move(100,300)

        copy_btn=QPushButton(self)
        copy_btn.setText("复制")
        copy_btn.move(100,400)
        def copy_cao():
            content=le_a.text()
            le_b.setText(content)
        copy_btn.pressed.connect(copy_cao)
if __name__=='__main__':
    import sys
    app=QApplication(sys.argv)
    window=Window()
    window.show()
    sys.exit(app.exec_())

from PyQt5.Qt import *

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("登陆案例")
        self.resize(500,500)
        #设置最小尺寸
        self.setMinimumSize(400,400)
        self.setup_ui()

    def setup_ui(self):
        # le_a=QLineEdit(self)
        # le_a.move(100,200)
        # le_b= QLineEdit(self)
        # le_b.move(100,300)
        #
        # copy_btn=QPushButton(self)
        # copy_btn.setText("复制")
        # copy_btn.move(100,400)
        # def copy_cao():
        #     content=le_a.text()
        #     le_b.setText(content)
        # copy_btn.pressed.connect(copy_cao)
        widget_w=150
        widget_h=40
        #间距
        margin=60
        self.account_le=QLineEdit(self)
        self.pwd_le=QLineEdit(self)
        #设置密码不可见
        self.pwd_le.setEchoMode(QLineEdit.Password)
        self.login_btn=QPushButton(self)
        self.login_btn.setText("登 陆")
        self.login_btn.clicked.connect(self.login_cao)




        self.account_le.resize(widget_w,widget_h)
        self.pwd_le.resize(widget_w,widget_h)
        self.login_btn.resize(widget_w,widget_h)

        x=(self.width()-widget_w)/2
        self.account_le.move(x,self.height()/4)
        self.pwd_le.move(x, self.account_le.y()+widget_h+margin)
        self.login_btn.move(x, self.pwd_le.y()+widget_h+margin)

    def login_cao(self):
        print("xxx",self)
        '''获取账号密码'''
        account=self.account_le.text()
        pwd=self.pwd_le.text()
        if account !="王青":
            print("账户错误")
            self.account_le.setText("")
            self.pwd_le.setText("")
            self.account_le.setFocus()
            return None

        if account =="王青":
            if pwd == 123456:
                print("登陆成功")
            else:
                print("密码错误")
                self.pwd_le.setText("")
                self.pwd_le.setFocus()
                return None
        # if account=="王青":
        #     if pwd==123456:
        #         print("登陆成功")
        #     else:
        #         print("密码错误")
        #         self.pwd_le.setText("")
        # else:
        #
        #     print("账户错误")
        #     self.account_le.setText("")
        #     self.pwd_le.setText("")

        print(account,pwd)


    def resizeEvent(self, evt):
        widget_w=150
        widget_h=40
        margin=60
        self.account_le.resize(widget_w,widget_h)
        self.pwd_le.resize(widget_w,widget_h)
        self.login_btn.resize(widget_w,widget_h)

        x = (self.width() - widget_w) / 2
        self.account_le.move(x, self.height() / 4)
        self.pwd_le.move(x, self.account_le.y() + widget_h + margin)
        self.login_btn.move(x, self.pwd_le.y() + widget_h + margin)



if __name__=='__main__':
    import sys
    app=QApplication(sys.argv)
    window=Window()
    window.show()
    sys.exit(app.exec_())

from PyQt5.Qt import *

class AccountTool:
    ACCOUNT_ERROR=1
    PWD_ERROR=2
    SUCCESS=3
    @staticmethod
    def check_login(account,pwd):
        if account != "王青":
            return AccountTool.ACCOUNT_ERROR
        if pwd!='123456':
            return AccountTool.PWD_ERROR
        return AccountTool.SUCCESS

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("登陆案例")
        self.resize(500,500)
        #设置最小尺寸
        self.setMinimumSize(400,400)
        self.setup_ui()

    def setup_ui(self):
        widget_w=150
        widget_h=40
        #间距
        margin=60
        self.account_le=QLineEdit(self)
        self.pwd_le=QLineEdit(self)
        #设置密码不可见
        self.pwd_le.setEchoMode(QLineEdit.Password)
        self.login_btn=QPushButton(self)
        self.login_btn.setText("登 陆")
        self.login_btn.clicked.connect(self.login_cao)




        self.account_le.resize(widget_w,widget_h)
        self.pwd_le.resize(widget_w,widget_h)
        self.login_btn.resize(widget_w,widget_h)

        x=(self.width()-widget_w)/2
        self.account_le.move(x,self.height()/4)
        self.pwd_le.move(x, self.account_le.y()+widget_h+margin)
        self.login_btn.move(x, self.pwd_le.y()+widget_h+margin)



    def login_cao(self):
        print("xxx",self)
        '''获取账号密码'''
        account=self.account_le.text()
        pwd=self.pwd_le.text()

        state=AccountTool.check_login(account,pwd)
        if state==AccountTool.ACCOUNT_ERROR:
            print("账户错误")
            self.account_le.setText("")
            self.pwd_le.setText("")
            self.account_le.setFocus()
            return None
        if state==AccountTool.PWD_ERROR:
            print("密码错误")
            self.pwd_le.setText("")
            self.pwd_le.setFocus()
            return None
        if state==AccountTool.SUCCESS:
            print("登陆成功")
        print(account,pwd)


    def resizeEvent(self, evt):
        widget_w=150
        widget_h=40
        margin=60
        self.account_le.resize(widget_w,widget_h)
        self.pwd_le.resize(widget_w,widget_h)
        self.login_btn.resize(widget_w,widget_h)

        x = (self.width() - widget_w) / 2
        self.account_le.move(x, self.height() / 4)
        self.pwd_le.move(x, self.account_le.y() + widget_h + margin)
        self.login_btn.move(x, self.pwd_le.y() + widget_h + margin)



if __name__=='__main__':
    import sys
    app=QApplication(sys.argv)
    window=Window()
    window.show()
    sys.exit(app.exec_())

增加了占位符setPlaceholderText()

from PyQt5.Qt import *

class AccountTool:
    ACCOUNT_ERROR=1
    PWD_ERROR=2
    SUCCESS=3
    @staticmethod
    def check_login(account,pwd):
        if account != "王青":
            return AccountTool.ACCOUNT_ERROR
        if pwd!='123456':
            return AccountTool.PWD_ERROR
        return AccountTool.SUCCESS

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("登陆案例")
        self.resize(500,500)
        #设置最小尺寸
        self.setMinimumSize(400,400)
        self.setup_ui()

    def setup_ui(self):
        # le_a=QLineEdit(self)
        # le_a.move(100,200)
        # le_b= QLineEdit(self)
        # le_b.move(100,300)
        #
        # copy_btn=QPushButton(self)
        # copy_btn.setText("复制")
        # copy_btn.move(100,400)
        # def copy_cao():
        #     content=le_a.text()
        #     le_b.setText(content)
        # copy_btn.pressed.connect(copy_cao)
        widget_w=150
        widget_h=40
        #间距
        margin=60
        self.account_le=QLineEdit(self)
        self.pwd_le=QLineEdit(self)
        #设置密码不可见
        self.pwd_le.setEchoMode(QLineEdit.Password)
        self.login_btn=QPushButton(self)
        self.login_btn.setText("登 陆")

        #占位文本的提示
        self.account_le.setPlaceholderText("请输入账号")
        self.pwd_le.setPlaceholderText("请输入密码")
        
        self.login_btn.clicked.connect(self.login_cao)




        self.account_le.resize(widget_w,widget_h)
        self.pwd_le.resize(widget_w,widget_h)
        self.login_btn.resize(widget_w,widget_h)

        x=(self.width()-widget_w)/2
        self.account_le.move(x,self.height()/4)
        self.pwd_le.move(x, self.account_le.y()+widget_h+margin)
        self.login_btn.move(x, self.pwd_le.y()+widget_h+margin)



    def login_cao(self):
        print("xxx",self)
        '''获取账号密码'''
        account=self.account_le.text()
        pwd=self.pwd_le.text()

        state=AccountTool.check_login(account,pwd)
        if state==AccountTool.ACCOUNT_ERROR:
            print("账户错误")
            self.account_le.setText("")
            self.pwd_le.setText("")
            self.account_le.setFocus()
            return None
        if state==AccountTool.PWD_ERROR:
            print("密码错误")
            self.pwd_le.setText("")
            self.pwd_le.setFocus()
            return None
        if state==AccountTool.SUCCESS:
            print("登陆成功")

        # if account !="王青":
        #     print("账户错误")
        #     self.account_le.setText("")
        #     self.pwd_le.setText("")
        #     self.account_le.setFocus()
        #     return None
        #
        # if account =="王青":
        #     if pwd == 123456:
        #         print("登陆成功")
        #     else:
        #         print("密码错误")
        #         self.pwd_le.setText("")
        #         self.pwd_le.setFocus()
        #         return None

        # if account=="王青":
        #     if pwd==123456:
        #         print("登陆成功")
        #     else:
        #         print("密码错误")
        #         self.pwd_le.setText("")
        # else:
        #
        #     print("账户错误")
        #     self.account_le.setText("")
        #     self.pwd_le.setText("")

        print(account,pwd)


    def resizeEvent(self, evt):
        widget_w=150
        widget_h=40
        margin=60
        self.account_le.resize(widget_w,widget_h)
        self.pwd_le.resize(widget_w,widget_h)
        self.login_btn.resize(widget_w,widget_h)

        x = (self.width() - widget_w) / 2
        self.account_le.move(x, self.height() / 4)
        self.pwd_le.move(x, self.account_le.y() + widget_h + margin)
        self.login_btn.move(x, self.pwd_le.y() + widget_h + margin)



if __name__=='__main__':
    import sys
    app=QApplication(sys.argv)
    window=Window()
    window.show()
    sys.exit(app.exec_())

setClearButtonEnabled(bool)
is

 '''设置密码文本框清空按钮'''
        self.pwd_le.setClearButtonEnabled(True)
from PyQt5.Qt import *

class AccountTool:
    ACCOUNT_ERROR=1
    PWD_ERROR=2
    SUCCESS=3
    @staticmethod
    def check_login(account,pwd):
        if account != "王青":
            return AccountTool.ACCOUNT_ERROR
        if pwd!='123456':
            return AccountTool.PWD_ERROR
        return AccountTool.SUCCESS

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("登陆案例")
        self.resize(500,500)
        #设置最小尺寸
        self.setMinimumSize(400,400)
        self.setup_ui()

    def setup_ui(self):
        # le_a=QLineEdit(self)
        # le_a.move(100,200)
        # le_b= QLineEdit(self)
        # le_b.move(100,300)
        #
        # copy_btn=QPushButton(self)
        # copy_btn.setText("复制")
        # copy_btn.move(100,400)
        # def copy_cao():
        #     content=le_a.text()
        #     le_b.setText(content)
        # copy_btn.pressed.connect(copy_cao)
        widget_w=150
        widget_h=40
        #间距
        margin=60
        self.account_le=QLineEdit(self)
        self.pwd_le=QLineEdit(self)
        #设置密码不可见
        self.pwd_le.setEchoMode(QLineEdit.Password)
        self.login_btn=QPushButton(self)
        self.login_btn.setText("登 陆")

        '''占位文本的提示'''
        self.account_le.setPlaceholderText("请输入账号")
        self.pwd_le.setPlaceholderText("请输入密码")

        '''设置密码文本框清空按钮'''
        self.pwd_le.setClearButtonEnabled(True)
        '''设置密码明文秘文切换'''

        action = QAction(self.pwd_le)
        action.setIcon(QIcon("code.png"))

        def change():
            if self.pwd_le.echoMode() == QLineEdit.Normal:
                self.pwd_le.setEchoMode(QLineEdit.Password)
                action.setIcon(QIcon("code.png"))
            else:
                self.pwd_le.setEchoMode(QLineEdit.Normal)
                action.setIcon(QIcon("code.png"))
                
        action.triggered.connect(change)
        self.pwd_le.addAction(action,QLineEdit.TrailingPosition)

        self.login_btn.clicked.connect(self.login_cao)






        self.account_le.resize(widget_w,widget_h)
        self.pwd_le.resize(widget_w,widget_h)
        self.login_btn.resize(widget_w,widget_h)

        x=(self.width()-widget_w)/2
        self.account_le.move(x,self.height()/4)
        self.pwd_le.move(x, self.account_le.y()+widget_h+margin)
        self.login_btn.move(x, self.pwd_le.y()+widget_h+margin)



    def login_cao(self):
        print("xxx",self)
        '''获取账号密码'''
        account=self.account_le.text()
        pwd=self.pwd_le.text()

        state=AccountTool.check_login(account,pwd)
        if state==AccountTool.ACCOUNT_ERROR:
            print("账户错误")
            self.account_le.setText("")
            self.pwd_le.setText("")
            self.account_le.setFocus()
            return None
        if state==AccountTool.PWD_ERROR:
            print("密码错误")
            self.pwd_le.setText("")
            self.pwd_le.setFocus()
            return None
        if state==AccountTool.SUCCESS:
            print("登陆成功")

        # if account !="王青":
        #     print("账户错误")
        #     self.account_le.setText("")
        #     self.pwd_le.setText("")
        #     self.account_le.setFocus()
        #     return None
        #
        # if account =="王青":
        #     if pwd == 123456:
        #         print("登陆成功")
        #     else:
        #         print("密码错误")
        #         self.pwd_le.setText("")
        #         self.pwd_le.setFocus()
        #         return None

        # if account=="王青":
        #     if pwd==123456:
        #         print("登陆成功")
        #     else:
        #         print("密码错误")
        #         self.pwd_le.setText("")
        # else:
        #
        #     print("账户错误")
        #     self.account_le.setText("")
        #     self.pwd_le.setText("")

        print(account,pwd)


    def resizeEvent(self, evt):
        widget_w=150
        widget_h=40
        margin=60
        self.account_le.resize(widget_w,widget_h)
        self.pwd_le.resize(widget_w,widget_h)
        self.login_btn.resize(widget_w,widget_h)

        x = (self.width() - widget_w) / 2
        self.account_le.move(x, self.height() / 4)
        self.pwd_le.move(x, self.account_le.y() + widget_h + margin)
        self.login_btn.move(x, self.pwd_le.y() + widget_h + margin)



if __name__=='__main__':
    import sys
    app=QApplication(sys.argv)
    window=Window()
    window.show()
    sys.exit(app.exec_())

验证器

from PyQt5.Qt import *

class  AgeVadidator(QValidator):
    def validate(self, input_str, pos_int):
        print(input_str,pos_int)
        #判断字符串是否全是数字

        try:
            if 18<=int(input_str) <=180:
                return (QValidator.Acceptable,input_str,pos_int)
            elif 1<=int(input_str)<=17:
                return (QValidator.Intermediate,input_str,pos_int)
            else:
                return (QValidator.Invalid,input_str,pos_int)
        except:
            if len(input_str)==0:
                return (QValidator.Intermediate,input_str,pos_int)
            return (QValidator.Invalid,input_str,pos_int)

    def fixup(self,p_str):
        print("xxx",p_str)
        try:
            if int(p_str)<18:
                return "18"
            return "180"
        except:
            return "18"

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QLineEdit验证器的学习")
        self.resize(500, 500)
        self.setup_ui()

    def setup_ui(self):
        le=QLineEdit(self)
        le.move(100,100)

        vadidator=AgeVadidator()
        le.setValidator(vadidator)

        le2=QLineEdit(self)
        le2.move(200,200)





if __name__ == '__main__':
    import sys

    app = QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())
from PyQt5.Qt import *

class MyAgeVadidator(QIntValidator):
    def fixup(self,p_str):
        print("xxx",p_str)
        if len(p_str)==0 or int(p_str)<18:
            return "18"
class  AgeVadidator(QValidator):
    def validate(self, input_str, pos_int):
        print(input_str,pos_int)
        #判断字符串是否全是数字

        try:
            if 18<=int(input_str) <=180:
                return (QValidator.Acceptable,input_str,pos_int)
            elif 1<=int(input_str)<=17:
                return (QValidator.Intermediate,input_str,pos_int)
            else:
                return (QValidator.Invalid,input_str,pos_int)
        except:
            if len(input_str)==0:
                return (QValidator.Intermediate,input_str,pos_int)
            return (QValidator.Invalid,input_str,pos_int)

    def fixup(self,p_str):
        print("xxx",p_str)
        try:
            if int(p_str)<18:
                return "18"
            return "180"
        except:
            return "18"

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QLineEdit验证器的学习")
        self.resize(500, 500)
        self.setup_ui()

    def setup_ui(self):
        le=QLineEdit(self)
        le.move(100,100)

        # vadidator=AgeVadidator()
        # vadidator=QIntValidator(18,180)
        vadidator = MyAgeVadidator(18, 180)
        le.setValidator(vadidator)

        le2=QLineEdit(self)
        le2.move(200,200)





if __name__ == '__main__':
    import sys

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

掩码

from PyQt5.Qt import *

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QLineEdit的学习")
        self.resize(500,500)
        self.setup_ui()

    def setup_ui(self):
        le_a=QLineEdit(self)
        le_a.move(100,200)
        le_b= QLineEdit(self)
        le_b.move(100,300)

        copy_btn=QPushButton(self)
        copy_btn.setText("复制")
        copy_btn.move(100,400)
        def copy_cao():
            content=le_a.text()
            le_b.setText(content)
        copy_btn.pressed.connect(copy_cao)

        #最大长度限制
        le_a.setMaxLength(3)
        #获取最大长度
        print(le_a.maxLength())
        #只读限制
        le_a.setReadOnly(True)
        le_a.setText("王炸,要不起")

        #le_b设置掩码
        #总共输入5位 左边2(必须是大写)-右边2
        le_b.setInputMask(">AA-99")




if __name__=='__main__':
    import sys
    app=QApplication(sys.argv)
    window=Window()
    window.show()
    sys.exit(app.exec_())
from PyQt5.Qt import *

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QLineEdit的学习")
        self.resize(500,500)
        self.setup_ui()

    def setup_ui(self):
        le_a=QLineEdit(self)
        le_a.move(100,200)
        le_b= QLineEdit(self)
        le_b.move(100,300)

        copy_btn=QPushButton(self)
        copy_btn.setText("复制")
        copy_btn.move(100,400)
        def copy_cao():
            #是否被编辑
            print(le_b.isModified())
            le_b.setModified(False)
        copy_btn.pressed.connect(copy_cao)

        #最大长度限制
        le_a.setMaxLength(3)
        #获取最大长度
        print(le_a.maxLength())
        #只读限制
        le_a.setReadOnly(True)
        le_a.setText("王炸,要不起")

        # #le_b设置掩码
        # #总共输入5位 左边2(必须是大写)-右边2
        # le_b.setInputMask(">AA-99")




if __name__=='__main__':
    import sys
    app=QApplication(sys.argv)
    window=Window()
    window.show()
    sys.exit(app.exec_())

光标

from PyQt5.Qt import *

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QLineEdit光标的学习")
        self.resize(500,500)
        self.setup_ui()

    def setup_ui(self):
        le=QLineEdit(self)
        le.move(100,100)

        btn=QPushButton(self)
        btn.setText("按钮")
        btn.move(100,200)
        def cursor_move():
            le.cursorBackward(True,2)
            le.setFocus()
        btn.clicked.connect(cursor_move)





if __name__=='__main__':
    import sys
    app=QApplication(sys.argv)
    window=Window()
    window.show()
    sys.exit(app.exec_())
发布了41 篇原创文章 · 获赞 0 · 访问量 790

猜你喜欢

转载自blog.csdn.net/qestion_yz_10086/article/details/104518360
今日推荐