Tkinter中的窗口调整面板控制器
在本文中,我们将创建一个基于GUI的窗口调整面板控制器,该面板将具有一个用于按其高度或宽度调整窗口大小的面板。
为了创建应用程序,我们首先将创建一个滑块,该滑块将帮助调整窗口大小。 滑块在tkinter的 ttk库 中可用。 我们将首先导入“ttk”。 然后,我们将启动需要调整大小的新窗口。
让我们首先在笔记本中导入所有所需的库并使用滑块设计控制栏。
例子
# 导入所需库
from tkinter import *
from tkinter import ttk
# 创建对象
win = Tk()
# 设置标题
win.title("窗口调整器")
lab = Label(win, text="窗口调整器", font=('Poppins bold', 20))
# 定义窗口或框架的几何图形
win.geometry("500x500")
# 创建一个按钮以启动新窗口
launch_button = Button(win, text="启动")
launch_button.pack(pady=10)
# 为宽度、高度和两者都添加标签框架
width_frame = LabelFrame(win, text="宽度")
width_frame.pack(pady=10)
height_frame = LabelFrame(win, text="高度")
height_frame.pack(pady=10)
both_frame = LabelFrame(win, text="两者")
both_frame.pack(pady=10)
#宽度滑块
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 = ttk.Scale(height_frame, from_=100, to=500, orient=VERTICAL, length=200, value=100)
height_slider.pack(pady=10, padx=20)
#两者都滑块
both_slider = ttk.Scale(both_frame, from_=100, to=500, orient=HORIZONTAL, length=200, value=100)
both_slider.pack(pady=10, padx=20)
# 继续运行窗口
win.mainloop()
在创建了滑块和控件的GUI后,我们将定义不同的函数,这些函数将在滑块和窗口控件中调用。
首先,我们将创建一个函数,用于打开一个新窗口,其中将出现控件移动。 然后,我们将定义宽度、高度和两者的函数。
定义函数后,如下所示−
例子
# 导入所需的库
from tkinter import *
from tkinter import ttk
# 创建对象
win = Tk()
# 设置标题
win.title("窗口调整器")
lab= Label(win, text="窗口调整器", font=('Poppins bold', 20))
# 定义窗口或框架的尺寸
win.geometry("500x500")
# 定义不同事件的函数
# 打开新窗口
def launch_win():
global win1
win1 = Toplevel()
win1.geometry("100x100")
# 更改宽度
def change_width(x):
win1.geometry(f"{int(width_slider.get())}x{int(height_slider.get())}")
# 更改高度
def change_height(x):
win1.geometry(f"{int(width_slider.get())}x{int(height_slider.get())}")
# 同时更改宽度和高度
def change_both(x):
win1.geometry(f"{int(both_slider.get())}x{int(both_slider.get())}")
# 创建一个按钮以启动新窗口
launch_button = Button(win, text="启动", command=launch_win)
launch_button.pack(pady=10)
# 为宽度、高度和两者都需要添加标签框架
width_frame = LabelFrame(win, text="宽度")
width_frame.pack(pady=10)
height_frame = LabelFrame(win, text="高度")
height_frame.pack(pady=10)
both_frame = LabelFrame(win, text="宽度和高度")
both_frame.pack(pady=10)
# 宽度滑块
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 = 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 = ttk.Scale(both_frame, from_=100, to=500, orient=
HORIZONTAL, length=200, command=change_both, value=100)
both_slider.pack(pady=10, padx=20)
# 保持窗口或框架运行
win.mainloop()
输出
运行上述代码将创建一个窗口调整器。