Python创建简单登录界面

Python015

Python创建简单登录界面,第1张

创建一个简单的登录窗口,假设用户名为TestName,密码为Python。

依据之前提到的创建方式,grid布局设计UI,设计登录用户名和密码检查函数。

from tkinterimport *

def LoginCheck():

        name = txtName.get()

        password = txtPassword.get()

        name_len =len(name)

        password_len =len(password)

        if name =="TestName" and password =="Python":

            msgLabel['text'] ='登录成功'

        elif  name =="TestName" and password !="Python":

            msgLabel['text'] ='密码错误'

            txtPassword.delete(0,password_len)

        else:

                msgLabel['text'] ='用户名错误'

                txtName.delete(0,name_len)

              txtPassword.delete(0, password_len)

wnd = Tk()

lblName = Label(wnd, text='User Name:')

lblName.grid(row=0, column=0, sticky=W)

txtName = Entry(wnd)

txtName.grid(row=0, column=1, sticky=E)

lblPs = Label(wnd, text='密码:')

lblPs.grid(row=1, column=0, sticky=W)

txtPassword = Entry(wnd)

txtPassword["show"] ='*'

txtPassword.grid(row=1, column=1, sticky=E)

btn = Button(wnd, text='登录', command=LoginCheck)

btn.grid(row=2, column=1, sticky=E)

# Message

msgLabel = Label(wnd, text='')

msgLabel.grid(row=3)

wnd.mainloop()

运行效果如下:

可输入不同的用户名和密码检测逻辑上设计是否正确。

用户名错误:

密码错误:

登录成功:

本例,展示了通过登录界面打开主界面的实现方式。

在开始实现登录界面前,先给大家普及一下PyQt5的安装以及使用

pip install PyQt5

pip3.5 install pyqt5-tools

1.在win+R中输入designer并敲回车,即可启动Designer。一般选择“Main Window”点击“Create”即可创建。

若在win+R中输入designer并敲回车后无反应,可以直接搜designer.exe直接启动

2.创建后,可以方便快捷的用Qt Designer画出对应框体,如通过Combo Box添加下拉选择的控件;通过Push Button添加按钮;通过List Widget添加列表框;通过Table Widget添加数据表格框,table中设置列数(右键-Edit Items-Colums),调整框体位置和文字大小,背景颜色以及windowTitle来优化界面显示,使用快捷键Ctrl+R预览当前编写的GUI显示如下:

3.点击保存,生成*.ui的文件,本例中为test.ui,保存在D:\py\deploy文件夹下

#!/usr/bin/env pythondef login(username, password):

    f = open("db", 'r')  # 读文件

    for line in f:

        l1 = line.split("|")        if l1[0] == username and l1[1] == password:            return True

    return Falsedef regedit(username, password):

    f = open("db", 'a')  # a表示添加

    temp = "\n" + username + "|" + password

    f.write(temp)

    f.close()def main():

    a = input("1:登陆,2:注册")    if a == "1":

        username = input("请输入用户名:")

        password = input("请输入密码:")

        r = login(username, password)        if r == True:

            print("登陆成功")        else:

            print("登陆失败")    elif a == "2":

        print("注册")

        user = input("请输入用户名:")

        passwd = input("请输入密码:")

        regedit(user, passwd)

main()