马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
tk 交互式登录界面,屏幕居中。
原贴:
http://bbs.fishc.com/thread-74156-1-1.html
主要是加入了 屏幕居中功能~
tk 默认的显示位置是随机的,很让人膈应,而且 根窗口 还没有现成的居中功能。
如有需求的鱼油,可以看一下~~
import tkinter as tk
root = tk.Tk()
frmLogin= tk.Frame(root)
frmShow = tk.Frame(root)
frmCmd = tk.Frame(root)
photoopen = tk.PhotoImage(file="open.gif")
photoerr = tk.PhotoImage(file="error.gif")
def show():
#global photoopen, photoerr
if e1.get() == e2.get()+'Fishc':
txt = "恭喜密码正确"
photo = photoopen
fg='#00FF00'
else:
txt="恭喜密码错误"
photo = photoerr
fg='yellow'
imgLabel = tk.Label(frmShow,
text = txt,
font = ('微软雅黑', 12, 'bold'),
fg = fg,
image = photo,
compound = 'center')
imgLabel.pack(side = tk.LEFT)
btnOK['state']= 'disabled'
frmLogin.forget()
frmShow.pack()
return
#屏幕分辨率
scrnW=root.winfo_screenwidth()
scrnH=root.winfo_screenheight()
root.withdraw() # 隐藏
#移到屏幕外,避免闪烁
root.geometry('+%d+%d' % (scrnW+100, scrnH+100))
# 开始布置部件
tk.Label(frmLogin, text="账号:").grid(row=0, column=0)
tk.Label(frmLogin, text="密码:").grid(row=1, column=0)
e1 = tk.Entry(frmLogin)
e2 = tk.Entry(frmLogin, show="●")
e1.grid(row=0, column=1, padx=10, pady=5)
e2.grid(row=1, column=1, padx=10, pady=5)
frmLogin.pack()
btnOK=tk.Button(frmCmd, text="芝麻开门", width=10, command=show)
btnOK.grid(row=3, column=0, sticky=tk.W, padx=10, pady=5)
btnExit=tk.Button(frmCmd, text="退出", width=10, command=root.destroy)
btnExit.grid(row=3, column=1, sticky=tk.E, padx=10, pady=5)
frmCmd.pack()
# 部件布局完成
root.update() # 刷新
root.deiconify() # 显示,使窗口尺寸属性可用
root.withdraw() # 再隐藏
宽 = root.winfo_width()
高 = root.winfo_height()
左 = (scrnW - 宽)//2
顶 = (scrnH - 高)//2 - 50
# 屏幕居中
root.geometry('+%d+%d' % (左, 顶))
root.deiconify() # 显示
root.mainloop()
2张gif图片:
open.gif
error.gif
|