你知道吗 我怎样才能把这两个棕色的标签分别放在蓝框和绿框里?你知道吗
我可以把粉红色的标签放在黄色的框里,但另外两个棕色的标签不在我想放的位置。你知道吗
import tkinter as tk
window = tk.Tk()
window.title('frame test')
window.geometry('600x450')
label1 = tk.Label(window, text='In the left side of window', bg='red',
fg='white').pack(side='left')
frameShow = tk.Frame(window, bg='yellow', width=100,height=50)
frameShow.pack()
label2 = tk.Label(frameShow, text='In the left side of yellow frame',
bg='pink').pack(side='left')
subFramel = tk.Frame(frameShow, bg='green', width=200,height=200).pack()
label3 = tk.Label(subFramel, text='Inside the green frame',
bg='brown', fg='white').pack(side='right')
subFrame2 = tk.Frame(frameShow, bg='blue',
width=180,height=200).pack(side='left')
label3 = tk.Label(subFrame2, text='Inside the blue frame',
bg='brown', fg='white').pack()
window.mainloop()
你可以简单一些,使用:
试错法,但要简单得多。希望这有帮助!你知道吗
代码中的主要问题是您将变量设置为
subFrame=tk.Frame(...).pack()
,而它应该是subFrame=tk.Frame(...)
。下面的代码应该可以工作。我包括borderwidth=2,这样您就可以看到框架颜色,因为框架会自动收缩到框架内容。你知道吗您可以使用
.pack()
而不是.grid()
作为框架,我认为这样更容易使用。它基本上与pack相同,但是您可以指定您的帧在网格中的位置。您为每个帧指定列(^ {< CD3}}),并且每一个它应该占用多少个(^ {CD4}}为空白和黄色帧)。你知道吗在此之后,您只需
.pack("left")
将标签放入所需的框架中。你知道吗(
.pack_propagate(False)
必须在帧上调用,以防止在放入标签时帧收缩。)相关问题 更多 >
编程相关推荐