自学内容网 自学内容网

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)!