|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
|
评分
-
查看全部评分
|