บางครั้ง เฟรม tkinter จะถูกปรับขนาดโดยอัตโนมัติตามขนาดของวิดเจ็ต ในการทำให้ขนาดเฟรมคงที่ เราต้องหยุดวิดเจ็ตที่ขยายขนาดเฟรม จึงมีสามวิธี
-
บูลีน pack_propagate(จริง/เท็จ) เมธอดป้องกันการปรับขนาดเฟรมจากวิดเจ็ต
-
ปรับขนาดได้(x,y) เมธอดป้องกันไม่ให้ปรับขนาดหน้าต่าง
-
แพ็ค(เติม ขยาย) ค่าที่ปรับขนาดหน้าต่างเป็นขนาดที่กำหนดไว้ในเรขาคณิต
โดยทั่วไป วิดเจ็ตทั้งหมดภายในเฟรม tkinter จะตอบสนองและไม่สามารถปรับขนาดได้
ตัวอย่าง
from tkinter import * win= Tk() win.geometry("700x300") #Don't allow the screen to be resized win.resizable(0,0) label= Label(win, text= "Select an option", font=('Times New Roman',12)) label.pack_propagate(0) label.pack(fill= "both",expand=1) def quit(): win.destroy() #Create two buttons b1= Button(win, text= "Continue") b1.pack_propagate(0) b1.pack(fill="both", expand=1) b2= Button(win, command= quit, text= "Quit") b2.pack_propagate(0) b2.pack(fill="both", expand=1) win.mainloop()
ผลลัพธ์
การเรียกใช้โค้ดด้านบนจะทำให้หน้าต่างมีขนาดคงที่ซึ่งไม่สามารถปรับขนาดได้