2
我有一個框架,我固定使用grid_propagate()方法的大小。我想在這個框架中居中一個框架。我如何去做這件事?如何在Tkinter的框架中居中框架?
我有一個框架,我固定使用grid_propagate()方法的大小。我想在這個框架中居中一個框架。我如何去做這件事?如何在Tkinter的框架中居中框架?
打包它填充所有方向。根據需要添加填充。
或者,使用讓你使用相對或絕對定位的地方。您可以使用相對x/y的.5/.5和「c」(中心)的錨點。
import Tkinter as tk
root=tk.Tk()
f1 = tk.Frame(width=200, height=200, background="red")
f2 = tk.Frame(width=100, height=100, background="blue")
f1.pack(fill="both", expand=True, padx=20, pady=20)
f2.place(in_=f1, anchor="c", relx=.5, rely=.5)
root.mainloop()
它有點混淆,因爲f1和f2都沒有聲明父項。 f1如何知道在root中打包?另外,2個不同的幾何管理器正在混合使用。這被警告到處都是不好的做法。然而,它的工作,並解決了我一直堅持了幾個小時的問題。所以+1! – wsaleem 2015-09-29 18:31:41
@wsaleem:除根窗口之外的每個窗口都必須有一個父窗口。當窗口小部件沒有明確指定父窗口時,根窗口是默認窗口。至於混合包和地點(和/或網格):在整個應用程序中,這是完全正確的,甚至是更可取的。你不能將它們混合在同一個包含窗口中。在這種情況下,'f1'由根窗口管理,'f2'由'f1'管理(因爲'in_'參數。 – 2015-09-29 19:02:54