tk 交互式登录界面,屏幕居中。
tk 交互式登录界面,屏幕居中。原贴:
http://bbs.fishc.com/thread-74156-1-1.html
主要是加入了 屏幕居中功能~
tk 默认的显示位置是随机的,很让人膈应,而且 根窗口 还没有现成的居中功能。
如有需求的鱼油,可以看一下~~
{:10_297:}
import tkinteras 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
http://xxx.fishc.com/forum/201607/24/182928bfzq97ff770nnme7.gif
error.gif
http://xxx.fishc.com/forum/201607/24/182928a8ud3wuw13vufddy.gif
**** Hidden Message ***** 学习 建议Button和Entry不要靠边啊,那样真的很难看的 啦啦啦啦啦了 学习了~~
大神威武~~ 努力向您学习 萌新看看。。 学习一下 学习 瞧瞧 学习学习 hi 支持楼主! 支持楼主! 支持楼主! 支持楼主! 支持楼主! 看看 学习学习 学习 楼主强大,学习了 向大虾学习~~ {:10_261:}
页:
[1]