此代码仅水平居中,如何使进度条也垂直居中?
import Tkinter
import ttk
root = Tkinter.Tk()
root.geometry("=500x500")
root.progressbar = ttk.Progressbar(root)
root.progressbar.pack(anchor=Tkinter.CENTER)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
Bry*_*ley 11
在这种特定情况下,添加expand=True到 pack 语句就足够了。
不要将此作为关于如何在任何情况下居中任何小部件的通用建议。expand=True不是“center this”的秘密别名。碰巧在这种特定情况下,扩展与缺少使用fill属性的组合,窗口大于进度条的事实,以及没有任何其他小部件的事实,所有这些都一起工作将此特定小部件居中。
使小部件居中的另一种方法——尤其是当它是区域中唯一的小部件时——是使用place. 这是place可能比grid或更好的少数几次之一pack。place允许您显式地将小部件放置在其容器的中心。
例如:
root.progressbar.place(relx=.5, rely=.5, anchor="c")
Run Code Online (Sandbox Code Playgroud)
这表示“将小部件的中心放置在容器宽度的 50% 和容器高度的 50%”处。