• python表白程序,无法拒绝


    在这里插入图片描述

    # coding=gbk
    import tkinter as tk
    import random
    import tkinter.messagebox as messagebox
    
    # 创建主窗口并隐藏
    root = tk.Tk()
    root.attributes('-alpha', 0)  # 设置主窗口为不可见
    
    # 表白内容
    message = "做我女朋友好不好?"
    
    # 获取屏幕宽度和高度
    screen_width = root.winfo_screenwidth()
    screen_height = root.winfo_screenheight()
    
    
    # 创建弹框函数
    def create_popup():
        popup = tk.Toplevel(root)
        popup.geometry("300x150")  # 弹框大小
        popup.title("表白弹框")
        popup.configure(bg='pink')  # 设置弹框背景颜色为粉色
    
        # 计算弹框位置,确保不超出屏幕边界
        x = random.randint(0, screen_width - 300)
        y = random.randint(0, screen_height - 150)
    
        popup.geometry(f"+{x}+{y}")  # 设置弹框位置
    
        # 创建Canvas
        canvas = tk.Canvas(popup, bg='pink', highlightthickness=0)
        canvas.pack(expand=True, fill="both")
    
        # 创建Label并设置字体大小以铺满Canvas
        label = tk.Label(canvas, text=message, font=("Helvetica", 18), bg='pink', wraplength=260, justify="center")
        canvas.create_window(150, 60, window=label)
    
        # 创建按钮框架
        button_frame = tk.Frame(canvas, bg='pink')
        canvas.create_window(150, 110, window=button_frame)
    
        # 创建同意按钮
        agree_button = tk.Button(button_frame, text="同意", command=on_agree)
        agree_button.pack(side="left", padx=20)
    
        # 创建拒绝按钮
        refuse_button = tk.Button(button_frame, text="拒绝", command=lambda: on_refuse(popup))
        refuse_button.pack(side="left", padx=20)
    
        # 让弹框始终保持在最顶层
        popup.attributes('-topmost', True)
    
        # 设置弹框关闭事件
        popup.protocol("WM_DELETE_WINDOW", lambda: on_close(popup))
    
    
    # 同意按钮的操作
    def on_agree():
        messagebox.showinfo("提示", "我喜欢你")
        root.quit()
    
    
    # 拒绝按钮的操作
    def on_refuse(popup):
        popup.destroy()  # 清除原弹框
        create_popup()  # 创建新的弹框
    
    
    # 弹框关闭事件的操作
    def on_close(popup):
        popup.destroy()  # 清除原弹框
        create_popup()  # 创建新的弹框
    
    
    # 创建第一个弹框
    create_popup()
    
    root.mainloop()
    
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
  • 相关阅读:
    在线问题反馈模块实战(十五)​:实现在线更新反馈状态功能
    Pico Neo3使用Unity开发简明教程
    R可视化:生存分析森林图
    【Kubernetes系列】Container(容器)
    Nodejs安装及npm配置(超详细)
    计算机毕业设计 SSM校园二手交流系统 大学二手交易平台系统 二手物品交易平台Java Vue MySQL数据库 远程调试 代码讲解
    StyleGAN 调整面部表情,让虚拟人脸更生动
    基于jsp+mysql+ssm的校园OTO超市系统-计算机毕业设计
    Android混淆笔记
    jenkins+github构建部署项目实践
  • 原文地址:https://blog.csdn.net/weixin_52236586/article/details/134492781