Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีตั้งค่า Tkinter Window ให้มีขนาดคงที่ (Constant Size)

บางครั้ง Tkinter Frame จะปรับขนาดอัตโนมัติตามขนาดของ Widgets เพื่อทำให้ Frame มีขนาดคงที่ เราต้องหยุดไม่ให้ Widgets ปรับขนาด Frame มี 3 วิธี:

  • เมธอด Boolean pack_propagate(True/False) ป้องกันการปรับขนาด Frame จาก Widget

  • เมธอด resizable(x, y) ป้องกันไม่ให้หน้าต่างปรับขนาดได้

  • ค่า Pack(fill, expand) ที่ปรับขนาดหน้าต่างให้เป็นขนาดที่กำหนดใน geometry

โดยพื้นฐานแล้ว Widgets ทั้งหมดภายใน Tkinter Frame จะตอบสนอง (responsive) และไม่สามารถปรับขนาดได้

ตัวอย่าง

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()

ผลลัพธ์

การรันโค้ดข้างต้นจะทำให้หน้าต่างมีขนาดคงที่และไม่สามารถปรับขนาดได้

วิธีตั้งค่า Tkinter Window ให้มีขนาดคงที่ (Constant Size)