python窗口居中显示

  1. import tkinter  as tk

  2. root = tk.Tk()
  3. frmLogin= tk.Frame(root)
  4. frmShow = tk.Frame(root)
  5. frmCmd = tk.Frame(root)

  6. photoopen = tk.PhotoImage(file="open.gif")
  7. photoerr = tk.PhotoImage(file="error.gif")

  8. def show():
  9.     #global photoopen, photoerr

  10.     if e1.get() == e2.get()+'Fishc':
  11.         txt = "恭喜密码正确"
  12.         photo = photoopen
  13.         fg='#00FF00'
  14.     else:
  15.         txt="恭喜密码错误"
  16.         photo = photoerr
  17.         fg='yellow'
  18.         
  19.     imgLabel  = tk.Label(frmShow,
  20.                          text = txt,
  21.                          font = ('微软雅黑', 12, 'bold'),
  22.                          fg = fg,
  23.                          image = photo,
  24.                          compound = 'center') 
  25.     imgLabel.pack(side = tk.LEFT)

  26.     btnOK['state']= 'disabled'
  27.     frmLogin.forget()
  28.     frmShow.pack()
  29.     return

  30. #屏幕分辨率
  31. scrnW=root.winfo_screenwidth()
  32. scrnH=root.winfo_screenheight()

  33. root.withdraw() # 隐藏
  34. #移到屏幕外,避免闪烁
  35. root.geometry('+%d+%d' % (scrnW+100, scrnH+100)) 
  36. # 开始布置部件
  37. tk.Label(frmLogin, text="账号:").grid(row=0, column=0)
  38. tk.Label(frmLogin, text="密码:").grid(row=1, column=0)
  39. e1 = tk.Entry(frmLogin)
  40. e2 = tk.Entry(frmLogin, show="●")
  41. e1.grid(row=0, column=1, padx=10, pady=5)
  42. e2.grid(row=1, column=1, padx=10, pady=5)
  43. frmLogin.pack()

  44. btnOK=tk.Button(frmCmd, text="芝麻开门", width=10, command=show)
  45. btnOK.grid(row=3, column=0, sticky=tk.W, padx=10, pady=5)
  46. btnExit=tk.Button(frmCmd, text="退出", width=10, command=root.destroy)
  47. btnExit.grid(row=3, column=1, sticky=tk.E, padx=10, pady=5)
  48. frmCmd.pack()

  49. # 部件布局完成
  50. root.update() # 刷新
  51. root.deiconify() # 显示,使窗口尺寸属性可用
  52. root.withdraw() # 再隐藏

  53. 宽 = root.winfo_width()
  54. 高 = root.winfo_height()
  55. 左 = (scrnW - 宽)//2
  56. 顶 = (scrnH - 高)//2 - 50

  57. # 屏幕居中
  58. root.geometry('+%d+%d' % (左, 顶))
  59. root.deiconify()    # 显示

  60. root.mainloop()
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值