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

แผงควบคุมการปรับขนาดหน้าต่างใน Tkinter


ในบทความนี้ เราจะสร้างแผงควบคุมตัวปรับขนาดหน้าต่างแบบ GUI ซึ่งจะมีบานหน้าต่างสำหรับปรับขนาดหน้าต่างตามความสูงหรือความกว้าง

ในการสร้างแอปพลิเคชัน ก่อนอื่นเราจะสร้างตัวเลื่อนที่จะช่วยปรับขนาดหน้าต่าง แถบเลื่อนมีอยู่ในไลบรารี ttk ของทีคินเตอร์ เราจะนำเข้า “ttk” ก่อน จากนั้น เราจะเปิดหน้าต่างใหม่ซึ่งจำเป็นต้องปรับขนาด

ให้เรานำเข้าไลบรารีที่จำเป็นทั้งหมดในโน้ตบุ๊กก่อน และออกแบบแถบควบคุมโดยใช้แถบเลื่อน

ตัวอย่าง

# Import the required Libraries
from tkinter import *
from tkinter import ttk

# Create Object
win = Tk()

# Set title
win.title("Window Resizer")
lab= Label(win, text="Window Resizer", font=('Poppins bold', 20))

#Define the geometry for the window or frame
win.geometry("500x500")

# Create a button to launch a new window
launch_button = Button(win,text = "Launch")
launch_button.pack(pady = 10)

# Add Label Frames for width, height and both
width_frame = LabelFrame(win, text = "Width")
width_frame.pack(pady = 10)

height_frame = LabelFrame(win, text = "Height")
height_frame.pack(pady = 10)

both_frame = LabelFrame(win, text = "Both")
both_frame.pack(pady = 10)

#Width Slider
width_slider = ttk.Scale(width_frame,from_ = 100,to = 500,orient = HORIZONTAL,length = 200, value = 100)
width_slider.pack(pady = 10, padx = 20)

#Height Slider
height_slider = ttk.Scale(height_frame, from_ = 100, to = 500, orient = VERTICAL,length = 200, value = 100)
height_slider.pack(pady = 10, padx = 20)

#Both Slider
both_slider = ttk.Scale(both_frame, from_ = 100,to = 500, orient = HORIZONTAL,length = 200, value = 100)
both_slider.pack(pady = 10,padx = 20)

# Keep running the window
win.mainloop()

หลังจากสร้าง GUI สำหรับตัวเลื่อนและตัวควบคุม เราจะกำหนดฟังก์ชันต่างๆ ที่จะเรียกใช้ในแถบเลื่อนและตัวควบคุมหน้าต่าง

ขั้นแรก เราจะสร้างฟังก์ชันสำหรับเปิดหน้าต่างใหม่ที่จะแสดงการควบคุมการเคลื่อนไหว จากนั้นเราจะกำหนดฟังก์ชันสำหรับความกว้าง ความสูง และทั้งสองอย่าง

หลังจากกำหนดฟังก์ชันแล้วจะเป็นดังนี้ −

ตัวอย่าง

# Import the required Libraries
from tkinter import *
from tkinter import ttk

# Create Object
win = Tk()

# Set title
win.title("Window Resizer")
lab= Label(win, text="Window Resizer", font=('Poppins bold', 20))

#Define the geometry for the window or frame
win.geometry("500x500")

#Define Functions for all different events
# Open New Window
def launch_win():
   global win1
   win1 = Toplevel()
   win1.geometry("100x100")

# Change width
def change_width(x):
   win1.geometry(f"{int(width_slider.get())}x{int(height_slider.get())}")

#Change height
def change_height(x):
   win1.geometry(f"{int(width_slider.get())}x{int(height_slider.get())}")

#Change both width and height
def change_both(x):
   win1.geometry(f"{int(both_slider.get())}x{int(both_slider.get())}")

# Create a button to launch a new window
launch_button = Button(win,text = "Launch", command= launch_win)
launch_button.pack(pady = 10)

# Add Label Frames for width, height and both
width_frame = LabelFrame(win, text = "Width")
width_frame.pack(pady = 10)

height_frame = LabelFrame(win, text = "Height")
height_frame.pack(pady = 10)

both_frame = LabelFrame(win, text = "Both")
both_frame.pack(pady = 10)

#Width Slider
width_slider = ttk.Scale(width_frame,from_ = 100,to = 500,orient =
HORIZONTAL,length = 200, command= change_height, value=100)
width_slider.pack(pady = 10, padx = 20)

#Height Slider
height_slider = ttk.Scale(height_frame, from_ = 100, to = 500, orient =
VERTICAL,length = 200,command= change_width, value=100)
height_slider.pack(pady = 10, padx = 20)

#Both Slider
both_slider = ttk.Scale(both_frame, from_ = 100,to = 500, orient =
HORIZONTAL,length = 200,command= change_both, value=100)
both_slider.pack(pady = 10,padx = 20)

#Keep Running the window or frame
win.mainloop()

ผลลัพธ์

การเรียกใช้โค้ดด้านบนจะสร้างตัวปรับขนาดหน้าต่าง

แผงควบคุมการปรับขนาดหน้าต่างใน Tkinter