【发布时间】:2019-08-18 15:45:51
【问题描述】:
我是 tkinter 和 python 的新手。这就是我的代码的样子:
import tkinter as tk
main = tk.Tk()
# Window size
main.geometry("400x700")
main.resizable(0, 0)
# Window position
w = main.winfo_reqwidth()
h = main.winfo_reqheight()
ws = main.winfo_screenwidth()
hs = main.winfo_screenheight()
x = (ws/2) - (w/2)
y = (hs/2) - (h/2)
main.geometry('+%d+%d' % (x, y))
fr1 = tk.Frame(main, borderwidth=2, relief="solid", bg = "#271ee3", width=400, height=50)
fr2 = tk.Frame(main, borderwidth=2, relief="solid", bg = "#0d9467", width=200, height=650)
fr3 = tk.Frame(main, borderwidth=2, relief="solid", bg = "#3e1854", width=200, height=650)
fr1.pack()
fr2.pack(side="left")
fr3.pack(side="right")
main.mainloop()
有了这段代码,我得到了 following window
到目前为止一切顺利。当我添加此代码时出现问题:
# Label
l = tk.Label(fr2, text="Heyho")
l.grid(row=0, column=0)
现在看起来so
我的目标是获得一个窗口,我在第一帧 (fr1) 中有一个与 fr1 具有相同几何形状的按钮。在 fr2 和 fr3 中,我希望彼此之间有严格的标签。我在 fr2 和 fr3 中的标签应该有第 0 列但行(0,1,2,3...)升序。我该怎么做??
【问题讨论】:
-
它会自动将框架调整为标签的大小,因此您看不到隐藏在标签后面的绿色背景 - 您会看到主窗口的灰色背景。如果你添加
fr2.grid_propagate(False),那么它不会调整Frame的大小。
标签: python user-interface tkinter frame