Python Tkinter实现登录界面教程
本文详细介绍如何使用Python3.6.5及内置Tkinter库开发图形化登录界面。内容涵盖环境配置、窗口创建、组件布局(Label、Entry、Button)及事件响应机制,并提供完整的代码示例与效果展示,适合Python初学者快速上手GUI开发。
导言与开发环境
导言篇
本教程基于Python 3.6.5环境进行演示。
所选用的GUI编程库为tkinter。
自Python 2.5版本起,tkinter已作为标准库内置,无需额外安装。
相较于其他Python GUI框架,tkinter更易于入门和上手。
登录界面代码实现
代码篇
以下是系统登录界面的实现代码。
import tkinter
from tkinter import messagebox
class Login(object):
def __init__(self):
# 创建主窗口,用于容纳其它组件
self.root = tkinter.Tk()
# 给主窗口设置标题内容
self.root.title("影视资源管理系统(离线版)")
self.root.geometry('450x300')
#运行代码时记得添加一个gif图片文件,不然是会出错的
self.canvas = tkinter.Canvas(self.root, height=200, width=500)#创建画布
self.image_file = tkinter.PhotoImage(file='welcome_1.gif')#加载图片文件
self.image = self.canvas.create_image(0,0, anchor='nw', image=self.image_file)#将图片置于画布上
self.canvas.pack(side='top')#放置画布(为上端)
#创建一个`label`名为`Account: `
self.label_account = tkinter.Label(self.root, text='Account: ')
#创建一个`label`名为`Password: `
self.label_password = tkinter.Label(self.root, text='Password: ')
# 创建一个账号输入框,并设置尺寸
self.input_account = tkinter.Entry(self.root, width=30)
# 创建一个密码输入框,并设置尺寸
self.input_password = tkinter.Entry(self.root, show='*', width=30)
# 创建一个登录系统的按钮
self.login_button = tkinter.Button(self.root, command = self.backstage_interface, text = "Login", width=10)
# 创建一个注册系统的按钮
self.siginUp_button = tkinter.Button(self.root, command = self.siginUp_interface, text = "Sign up", width=10)
# 完成布局
def gui_arrang(self):
self.label_account.place(x=60, y= 170)
self.label_password.place(x=60, y= 195)
self.input_account.place(x=135, y=170)
self.input_password.place(x=135, y=195)
self.login_button.place(x=140, y=235)
self.siginUp_button.place(x=240, y=235)
# 进入注册界面
def siginUp_interface(self):
# self.root.destroy()
tkinter.messagebox.showinfo(title='影视资源管理系统', message='进入注册界面')
# 进行登录信息验证
def backstage_interface(self):
account = self.input_account.get().ljust(10," ")
password = self.input_password.get().ljust(10," ")
#对账户信息进行验证,普通用户返回user,管理员返回master,账户错误返回noAccount,密码错误返回noPassword
verifyResult = verifyAccount.verifyAccountData(account,password)
if verifyResult=='master':
self.root.destroy()
tkinter.messagebox.showinfo(title='影视资源管理系统', message='进入管理界面')
elif verifyResult=='user':
self.root.destroy()
tkinter.messagebox.showinfo(title='影视资源管理系统', message='进入用户界面')
elif verifyResult=='noAccount':
tkinter.messagebox.showinfo(title='影视资源管理系统', message='该账号不存在请重新输入!')
elif verifyResult=='noPassword':
tkinter.messagebox.showinfo(title='影视资源管理系统', message='账号/密码错误请重新输入!')
def main():
# 初始化对象
L = Login()
# 进行布局
L.gui_arrang()
# 主程序执行
tkinter.mainloop()
if __name__ == '__main__':
main()
界面效果展示
效果篇

Tkinter基础语法详解
语法介绍
环境配置:
需安装Python 3.6.5,可从官网下载获取。
tkinter包:Python 2.5之后版本均自带,直接导入即可使用。
基本语法:
self.root = tkinter.Tk()
上述代码创建了一个名为root的窗口对象。root前的self.是面向对象编程中的实例引用,若对面向对象概念不熟悉,建议查阅相关文档。
self.root.title("影视资源管理系统(离线版)")
self.root.geometry('450x300')
接下来为窗口root设置标题,并配置窗口的基本属性。
self.canvas = tkinter.Canvas(self.root, height=200, width=500)#创建画布
self.image_file = tkinter.PhotoImage(file='welcome_1.gif')#加载图片文件
self.image = self.canvas.create_image(0,0, anchor='nw', image=self.image_file)#将图片置于画布上
self.canvas.pack(side='top')#放置画布(为上端)
若希望提升界面美观度,可以尝试创建画布(Canvas)组件,如下所示。

此处对背景图片进行了透明化处理,处理工具可参考文中提到的网站,该工具表现良好。
#创建一个`label`名为`Account: `
self.label_account = tkinter.Label(self.root, text='Account: ')
#创建一个`label`名为`Password: `
self.label_password = tkinter.Label(self.root, text='Password: ')
此处创建的是Label组件,其作用类似于界面中的“Account:”与“Password:”文本标签。
.Label(A, B):参数A指定Label所属的窗口,参数B定义用户可见的文本内容(通过text="LabelName"指定)。
.Button(A, B, text='', [width='', height='']):参数A指定按钮所属的窗口主体,参数B指定按钮绑定的响应事件(如command = self.siginUp_interface)。该事件用于注册或登录并进入后台,command后需接具体的响应函数。
.Entry(A):输入框组件,用法参考前述.Label(),如有疑问可在评论区留言。
.place(x="", y=""):用于设置窗口部件在界面中的位置坐标。
登录界面的基础介绍至此结束。后续将更新登录界面的响应机制,如有疑问欢迎留言,我会及时回复。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









