一个简单的登录窗口布局,可以用于日常快速搭建一个简单的窗口类。
from tkinter import *
import tkinter.messagebox
class LoginUi:
def __init__(self,window):
self.window = window
#初始化窗口
def initWindow(self):
self.width = 200
self.height = 100
#设置窗口宽高和位子
self.window.geometry("%dx%d+%d+%d" % (self.width, self.height,
(self.window.winfo_screenwidth() - self.width)/2,
(self.window.winfo_screenheight()-self.height)/2))
#标题
self.window.title("登录窗口")
#标签
self.userNameLabel = Label(self.window, text="帐号:")
self.userNameLabel.grid(row=0, column=1, columnspan=1)
#输入框
self.userNameEntry = Entry(self.window, bd=5)
self.userNameEntry.grid(row=0, column=2, columnspan=1)
self.passwordLabel = Label(self.window, text="密码:")
self.passwordLabel.grid(row=1, column=1, columnspan=1)
self.passwordEntry = Entry(self.window, bd=5)
self.passwordEntry.grid(row=1, column=2, columnspan=1)
#按钮
self.checkButton = Button(self.window, text="登录", command=self.checkCallBack)
self.checkButton.grid(row=2, column=2, columnspan=1)
def checkCallBack(self):
if self.userNameEntry.get() == "" or self.passwordEntry.get() == "":
tkinter.messagebox.showinfo('提示','请输入帐号或者密码!')
if self.userNameEntry.get() == "123" and self.passwordEntry.get() == "123":
tkinter.messagebox.showinfo('提示','密码正确!')
else:
tkinter.messagebox.showinfo('提示', '密码错误!')
def login():
loginWindow = Tk() #创建窗口
window = LoginUi(loginWindow) #类初始化
window.initWindow() #窗口添加组件
loginWindow.mainloop() #载入窗口循环
login()
效果如下: