ในบทความนี้ เราจะสร้างแผงควบคุมตัวปรับขนาดหน้าต่างแบบ 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()
ผลลัพธ์
การเรียกใช้โค้ดด้านบนจะสร้างตัวปรับขนาดหน้าต่าง