使用tkinter创建登录界面

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 使用tkinter创建登录界面

tkinter简介

tkinter是Python的标准GUI(图形用户界面)库,内置在Python自带的模块中,提供了跨平台的GUI支持。使用tkinter可以方便地构建GUI应用程序,如窗口、按钮、菜单、文字、输入框等界面元素。tkinter的优点有:

  • 跨平台支持,可以运行在Windows、Mac和Linux等系统
  • 语法简单易学,可以方便构建基本GUI
  • 可以方便与Python代码逻辑相结合 缺点有界面不够优美等。但tkinter提供了GUI应用开发的基础,具有很高的实用价值。

tkinter基础组件和布局管理

tkinter通过各种Widget(窗口组件)来构建完整的GUI应用。常用的组件有:

  • Label:标签,可以显示文本
  • Button:按钮,可以触发函数
  • Entry:输入框,用于输入文本
  • Text:文本框,显示多行文本
  • Frame:框架,用于容纳其他组件
  • Canvas:画布,可以在上面绘制图形
  • Menu:菜单 等等。tkinter提供布局管理器如pack、grid、place来管理各个组件的位置和布局。pack是最简单的布局方式,可以使组件自动填充空间。grid使用网格系统进行布局。place可以精确指定组件的坐标。下面是一个简单的登录界面布局代码:
import tkinter as tk
window = tk.Tk()
window.title('登录界面')  
tk.Label(window, text='欢迎登录').pack() 
frm = tk.Frame(window)
frm.pack()
tk.Label(frm, text='用户名:').grid(row=0, column=0)
tk.Entry(frm).grid(row=0, column=1)
tk.Label(frm, text='密码:').grid(row=1, column=0) 
tk.Entry(frm).grid(row=1, column=1)
btn = tk.Button(frm, text='登录')
btn.grid(row=2, column=1)
window.mainloop()

这里通过组合不同的组件和布局方式,构建一个登录界面的基本框架,包含了文字,输入框和按钮。

登录界面加背景图片

tkinter直接生成的登录界面比较单调,可以在登录界面加上背景图,背景图片放在相对路径。

import tkinter as tk
from PIL import Image,ImageTk
window = tk.Tk()
window.title('登录界面')
window.geometry('600x600') 
title_label = tk.Label(window, text='登录界面设置', fg='blue', font=('SimSun', 10))
title_label.pack() 
#图片位置
img = Image.open("bg2.png")  #图片,用相对路径
img = img.resize((600, 600)) # 调整图片大小
tk_img = ImageTk.PhotoImage(img)
label_img = tk.Label(window, image=tk_img)
label_img.place(x=100, y=100) # 置于顶部居中
label_img.pack()
user_label = tk.Label(window, text='用户名:', font=('SimSun', 12))
user_label.place(x=80, y=230)
user_entry = tk.Entry(window)
user_entry.place(x=180, y=230)
pwd_label = tk.Label(window, text='密码:', font=('SimSun', 12)) 
pwd_label.place(x=80, y=270)
pwd_entry = tk.Entry(window, show='*')
pwd_entry.place(x=180, y=270)  
login_button = tk.Button(window, text='登录', font=('SimSun', 12))  
login_button.place(x=300, y=300)
window.mainloop()


目录
相关文章
|
9月前
|
Python
tkinter之菜单按钮
tkinter之菜单按钮
65 1
|
9月前
|
JSON Linux 数据安全/隐私保护
Qt实现菠菜登录界面
Qt实现菠菜登录界面
|
4月前
|
Python
Tkinter学习笔记(一):完成文件选择和保存对话框
关于如何使用Python的Tkinter库来创建文件选择和保存对话框的教程。
86 2
|
8月前
|
Python
Python中的消息框对话框tkinter.messagebox
Python中的消息框对话框tkinter.messagebox
|
9月前
|
Python
tkinter之下拉菜单
tkinter之下拉菜单
141 1
|
C++ Python
Python密码锁屏窗体界面
Python密码锁屏窗体界面
161 0
Python密码锁屏窗体界面
|
Python 容器
Python Tkinter教程(一)——tkinter编程基本步骤、窗口基本属性及Toplevel控件的使用
Python Tkinter教程(一)——tkinter编程基本步骤、窗口基本属性及Toplevel控件的使用
308 1
【Pyqt5】实现登录界面、主界面的相互跳转
【Pyqt5】实现登录界面、主界面的相互跳转
|
关系型数据库 MySQL 数据库
Qt实现登陆界面(含代码)
Qt实现登陆界面(含代码)
674 0
Qt实现登陆界面(含代码)
|
数据安全/隐私保护
pyqt5 登录界面的实现模板(加强版2)
本例,在[登录界面第二版](https://yq.aliyun.com/articles/653646)的基础上,增加了登录界面的记住密码功能和自动登录功能。 在实现这两个功能的时候,需要用到QSettings这个知识点。QSettings用起来还是很方便,很简单的,不细说了,直接看代码吧。
2558 0