0
我已經在python 2.7中編寫了這段代碼,並且我在這段代碼中使用了「pack_propagate」。第一次「pack_propagate」工作正常,但是當我點擊按鈕1時,「pack_propagate」不起作用。誰能告訴我原因?python中tkinter的包管理器
from tkinter import *
root = Tk()
root.title("pack_forget check")
tk_window_width = 500
tk_window_height = 300
screen_width = root.winfo_screenwidth() # width of the screen
screen_height = root.winfo_screenheight() # height of the screen
x = (screen_width/2) - (tk_window_width/2)
y = (screen_height/2) - (tk_window_height/2)
root.geometry('%dx%d+%d+%d' %(tk_window_width, tk_window_height, x, y))
frame1 = Frame(root, bg="red", height=250, width=250)
frame2 = Frame(root, bg="green", height=250, width=250)
def first():
frame1.pack(side=TOP, padx=20, pady=20)
frame1.pack_propagate(0)
frame2.pack_forget()
def second():
frame2.pack(side=TOP, padx=20, pady=20)
frame2.pack_propagate(0)
frame1.pack_forget()
label1 = Label(frame1, text="Frame 1")
label1.pack(side="top")
button1 = Button(frame1, text="button 1", command=second, width=10)
button1.pack(side="bottom")
label2 = Label(frame2, text="Frame 2")
label2.pack(side="top")
button2 = Button(frame2, text="button 2", command=first, width=10)
button2.pack(side="bottom")
frame1.pack(side=TOP, padx=20, pady=20)
frame1.pack_propagate(0)
root.mainloop()
@AnupamYadav你是什麼意思「工作不正常」?你期望發生什麼,發生了什麼? – Goyo
「pack_propagate」不縮小框架。第一次frame1沒有因pack_propagate而收縮,但是在點擊「button1」後,當第二幀出現時,即使我已經對第二幀使用了「pack_propagate」,它也不會跟隨「pack_propagate」。 –
@AnupamYadav好吧,目前,當我按下'按鈕1'時,綠框沒有出現,你是否打算出現綠框? – officialaimm