20240919 - 【PYTHON】辞职信
import tkinter as tk # 导入 tkinter 模块,并简写为 tk
from tkinter import messagebox # 从 tkinter 导入 messagebox 子模块,用于显示消息框
from random import random # 从 random 模块导入 random 函数,用于生成随机数
# 创建窗口对象
window = tk.Tk()
# 禁用窗口的缩放
window.resizable(False, False)
# 获取屏幕的宽度和高度
screen_width = window.winfo_screenwidth() # 获取屏幕宽度
screen_height = window.winfo_screenheight() # 获取屏幕高度
# 窗口的宽度和高度
window_width = 500
window_height = 300
# 计算窗口的 x 和 y 坐标,使其居中
x = (screen_width // 2) - (window_width // 2) # 计算 x 坐标
y = (screen_height // 2) - (window_height // 2) # 计算 y 坐标
# 设置窗口的大小和位置
window.geometry(f'{window_width}x{window_height}+{x}+{y}')
# 设置窗口标题
window.title('辞职信')
# 创建一个框架(Frame)用于组织窗口中的组件
frame1 = tk.Frame(window)
frame1.pack() # 将框架添加到窗口中
# 创建并添加一个标签,显示文本 '尊敬的各位领导:'
tk.Label(frame1, text='尊敬的各位领导:', font=24, padx=30, pady=30).pack(side=tk.LEFT, anchor=tk.N)
# 加载图片并调整大小
img = tk.PhotoImage(file='down.png') # 加载名为 'down.png' 的图片
img = img.subsample(2, 2) # 将图片缩小为原来的 1/2
# 创建一个标签,显示图片,设置内边距和边框宽度
label_img = tk.Label(frame1, image=img, padx=30, pady=30, bd=0)
label_img.pack(side=tk.LEFT, anchor=tk.N) # 将标签添加到框架中
# 创建并添加一个标签,显示文本 '辞职人:小帅'
tk.Label(frame1, text='辞职人:小帅', height=25, font=24, padx=10, pady=10, anchor=tk.S).pack(side=tk.LEFT)
# 创建“同意”按钮
yes_btn = tk.Button(frame1, text='同意', bd=0, width=6, height=1, bg='red')
# 创建“不同意”按钮
no_btn = tk.Button(frame1, text='不同意', bd=0, width=6, height=1, bg='red')
# 设置按钮的位置
yes_btn.place(relx=0.3, rely=0.7, anchor=tk.CENTER)
no_btn.place(relx=0.7, rely=0.7, anchor=tk.CENTER)
# 创建第二个框架(Frame)用于后续显示的内容
frame2 = tk.Frame(window)
# 创建并添加一个标签,显示文本 '再见!这破班不上也罢!!!'
tk.Label(frame2, text='再见!这破班不上也罢!!!', font=('黑体', 18), justify=tk.LEFT, height=300, fg='red', padx=50).pack()
# 创建一个退出按钮
tk.Button(frame2, text='退出', command=window.quit).place(relx=0.9, rely=0.8)
# 定义退出时的处理函数
def on_exit():
messagebox.showwarning(title='提示', message='此路不通') # 显示警告消息框
# 设置窗口的关闭事件处理
window.protocol('WM_DELETE_WINDOW', on_exit)
# 定义鼠标进入“不同意”按钮时的处理函数
def move(event):
no_btn.place(relx=random(), rely=random(), anchor=tk.CENTER) # 随机移动按钮位置
# 为“不同意”按钮绑定鼠标进入事件
no_btn.bind('<Enter>', move)
# 定义点击“同意”按钮后的处理函数
def sure():
frame1.pack_forget() # 隐藏第一个框架
frame2.pack() # 显示第二个框架
# 配置“同意”按钮的点击事件
yes_btn.config(command=sure)
# 进入主循环,等待窗口事件发生
window.mainloop()
原文地址:https://blog.csdn.net/qq_44887198/article/details/142355349
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!