擅长:python、mysql、java
<p>代码中的主要问题是您将变量设置为<code>subFrame=tk.Frame(...).pack()</code>,而它应该是<code>subFrame=tk.Frame(...)</code>。下面的代码应该可以工作。我包括borderwidth=2,这样您就可以看到框架颜色,因为框架会自动收缩到框架内容。你知道吗</p>
<pre><code>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')
label1.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')
label2.pack(side='left')
subFramel = tk.Frame(frameShow, bg='green', width=200,height=200, borderwidth=2)
subFramel.pack()
label3 = tk.Label(subFramel, text='Inside the green frame', bg='brown', fg='white')
label3.pack(side='right')
subFrame2 = tk.Frame(frameShow, bg='blue', width=180,height=200, borderwidth=2)
subFrame2.pack(side='left')
label3 = tk.Label(subFrame2, text='Inside the blue frame',bg='brown', fg='white', borderwidth=2)
label3.pack()
window.mainloop()
</code></pre>