Computer >> Máy Tính >  >> Lập trình >> Python

Bảng điều khiển Window Resizer trong Tkinter


Trong bài viết này, chúng tôi sẽ tạo một bảng điều khiển thay đổi kích thước cửa sổ dựa trên GUI sẽ tạo một ngăn để thay đổi kích thước cửa sổ theo chiều cao hoặc chiều rộng của nó.

Để tạo ứng dụng, trước tiên chúng ta sẽ tạo một thanh trượt giúp thay đổi kích thước kích thước cửa sổ. Các thanh trượt có sẵn trong thư viện ttk của tkinter. Chúng tôi sẽ nhập “ttk” trước. Sau đó, chúng tôi sẽ khởi chạy một cửa sổ mới cần được thay đổi kích thước.

Trước tiên, hãy để chúng tôi nhập tất cả các thư viện bắt buộc vào sổ ghi chép và thiết kế các thanh điều khiển bằng cách sử dụng thanh trượt.

Ví dụ

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

Sau khi tạo GUI cho Thanh trượt và điều khiển, chúng tôi sẽ xác định các chức năng khác nhau sẽ được gọi trong thanh trượt và điều khiển cửa sổ.

Đầu tiên, chúng ta sẽ tạo một hàm để mở một cửa sổ mới nơi controlmovement sẽ xuất hiện. Sau đó, chúng tôi sẽ xác định hàm cho chiều rộng, chiều cao và cả hai.

Sau khi xác định chức năng, nó sẽ như sau -

Ví dụ

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

Đầu ra

Chạy đoạn mã trên sẽ tạo một bộ chỉnh sửa cửa sổ.

Bảng điều khiển Window Resizer trong Tkinter