| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
如图所示 
我从网上查到如下信息 
 
 
按道理说,创建一个 宽150 高50 的 顶级窗口应该是 
- top = Toplevel(root, width=150, height=50)
 
  复制代码 
结果我发现根本不起作用 
反而是 
- top = Toplevel(root, padx=150, pady=50)
 
  复制代码 
这行代码起了作用 
这到底是什么情况? 
 
我以为我查到的资料有问题,然后在论坛找了小甲鱼的资料 
 
Tkinter 窗口组件:Toplevel 
https://fishc.com.cn/thread-61239-1-1.html 
(出处: 鱼C论坛) 
 
 
发现小甲鱼资料也是这样 
那么问题来了,如果我想弹出一个顶级窗口 
窗口宽度 150 高 50 显示在屏幕正中间 
那么应该怎样写代码? 
 
注:分辨率 1600 * 900 
 
- from tkinter import *
 
  
 
- root = Tk()
 
 - root.geometry("800x450+400+225")
 
  
 
- def show_top():
 
 -     #top = Toplevel(root, width=150, height=50)
 
 -     top = Toplevel(root, padx=150, pady=50)
 
 -     top.title("标题")
 
 -     Label(top,text = "显示窗口").pack()
 
 -     
 
  
- Button(root, text="顶级窗口", command=show_top).pack()
 
  
 
- root.mainloop()
 
 
  复制代码 
真·正中间 
- # coding: utf-8
 
  
- from tkinter import *
 
  
- root = Tk()
 
 - root.geometry("800x450+400+225")
 
 - sw = root.winfo_screenwidth()
 
 - sh = root.winfo_screenheight()
 
  
 
- def show_top():
 
 -     topw, toph = 150, 50
 
 -     ctpx = int(sw / 2 - topw / 2)
 
 -     ctpy = int(sh / 2 - toph / 2)
 
 -     top = Toplevel(root)
 
 -     top.geometry(f"{topw}x{toph}+{ctpx}+{ctpy}")
 
 -     # top = Toplevel(root, padx=150, pady=50)
 
 -     top.title("标题")
 
 -     Label(top, text="显示窗口").pack()
 
  
 
- Button(root, text="顶级窗口", command=show_top).pack()
 
  
- root.mainloop()
 
 
  复制代码 
 
 
 |   
 
 
 
 |