写着玩的程序:pycharm实现无限弹窗程序(非病毒程序,仅整蛊使用)

这篇具有很好参考价值的文章主要介绍了写着玩的程序:pycharm实现无限弹窗程序(非病毒程序,仅整蛊使用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

运行环境

PyCharm 2023.2.1

python3.11

具体内容

源代码

import tkinter as tk
from tkinter import messagebox
import threading

class PopupGenerator:
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("200x120")
        self.root.title("无限弹窗")
        self.root.protocol("WM_DELETE_WINDOW", lambda: None)  # 用户不可关闭弹窗一
        self.common_style = {"font": ("华文新魏", 14)}
        self.label = tk.Label(self.root, text="恭喜你打开了这个程序", **self.common_style, fg="red")
        self.label.pack(pady=20)
        self.close_program_button = tk.Button(self.root, text="关闭程序", command=self.try_detox, **self.common_style,
                                              bg="green", fg="white")
        self.close_program_button.pack(pady=10)
        self.popup_count = 0
        self.detox_attempts = 0
        self.popup_positions = []  # 存储已存在弹窗的位置信息
        self.generate_popup()

    def generate_popup(self):
        if self.popup_count < 20:
            popup = tk.Toplevel(self.root)
            popup.title("无限弹窗")
            popup.geometry("200x120")
            # 检查已存在弹窗的位置,设置新弹窗的位置
            x, y = self.calculate_popup_position(popup.winfo_reqwidth(), popup.winfo_reqheight())
            popup.geometry(f"+{x}+{y}")
            popup_label = tk.Label(popup, text="多试一下", fg="blue", **self.common_style)
            popup_label.pack(pady=20)
            popup.protocol("WM_DELETE_WINDOW", self.on_popup_close)
            self.popup_count += 1
            threading.Timer(1, self.generate_popup).start()

    def calculate_popup_position(self, width, height):
        # 计算新弹窗的位置,避免重叠
        x_offset, y_offset = 25, 25
        x = self.root.winfo_x() + x_offset + len(self.popup_positions) * x_offset
        y = self.root.winfo_y() + y_offset + len(self.popup_positions) * y_offset
        # 存储新弹窗的位置信息
        self.popup_positions.append((x, y))
        return x, y

    def on_popup_close(self):
        self.generate_additional_popup()

    def generate_additional_popup(self):
        additional_popup = tk.Toplevel(self.root)
        additional_popup.title("无限弹窗")
        additional_popup.geometry("200x120")
        # 检查已存在弹窗的位置,设置新弹窗的位置
        x, y = self.calculate_popup_position(additional_popup.winfo_reqwidth(), additional_popup.winfo_reqheight())
        additional_popup.geometry(f"+{x}+{y}")
        additional_popup_label = tk.Label(additional_popup, text="并没有用", fg="purple", **self.common_style)
        additional_popup_label.pack(pady=20)

    def try_detox(self):
        self.detox_attempts += 1
        if self.detox_attempts <= 10:
            messagebox.showinfo("温馨提示", f"你不会觉得点了 {self.detox_attempts} 次就有用吧")
        else:
            messagebox.showinfo("没想到啊", f"你居然坚持点了 {self.detox_attempts}次")
            self.root.destroy()

if __name__ == "__main__":
    popup_generator = PopupGenerator()
    popup_generator.root.mainloop()

运行结果如图

点击运行时

写着玩的程序:pycharm实现无限弹窗程序(非病毒程序,仅整蛊使用),写着玩的程序,python

点击关闭程序按钮(未点击足够次数)

写着玩的程序:pycharm实现无限弹窗程序(非病毒程序,仅整蛊使用),写着玩的程序,python

点击关闭程序按钮(点击次数足够)

写着玩的程序:pycharm实现无限弹窗程序(非病毒程序,仅整蛊使用),写着玩的程序,python

关闭多试一下弹窗(仅并没有用弹窗可关闭)

写着玩的程序:pycharm实现无限弹窗程序(非病毒程序,仅整蛊使用),写着玩的程序,python

关闭程序的方法

1、任务管理器结束任务

2、点击足够次数的关闭程序

注意事项

1、没有什么技术含量,仅娱乐使用文章来源地址https://www.toymoban.com/news/detail-818269.html

到了这里,关于写着玩的程序:pycharm实现无限弹窗程序(非病毒程序,仅整蛊使用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何用代码来实现电脑中“病毒”----关机小程序。 代码的有趣应用~

    shutdown -s -t 60              -s 是设置关机 -t 是设置时间关机 60 是60s后关机 shutdown -a 取消关机 可以win + r ,输入cmd,进去输入上面的,也可以 #define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h      //来引入打印函数printf #include stdlib.h   //声明 生成随机数字的函数 rand/ system执行系统命

    2024年02月10日
    浏览(44)
  • 原生实现底部弹窗效果 h5 小程序

       

    2024年02月04日
    浏览(40)
  • 微信小程序新版隐私协议弹窗实现最新版

    2023.08.22更新:【原文连接】 以下指南中涉及的 getPrivacySetting、onNeedPrivacyAuthorization、requirePrivacyAuthorize 等接口目前可以正常接入调试。调试说明: 在 2023年9月15号之前,在 app.json 中配置 __usePrivacyCheck__: true 后,会启用隐私相关功能,如果不配置或者配置为 false 则不会启用。

    2024年02月10日
    浏览(76)
  • 微信小程序---微信授权弹窗实现(组件,需要地方直接调用即可)

     在资源处下载后 在调用页面 json: wxml: js: 1、先判断是否已经登录,未登录直接调用show_empower:true即可弹出登录授权框 2、点击授权会请求获取手机号码,通过手机号码请求后台数据,若登录成功后 3、在页面调用return_login(e)方法,判断e携带的值是否请求成功。 4、若成

    2024年02月12日
    浏览(85)
  • 【微信小程序】实现点击+号弹出一个附着旁边的弹窗进行多个方式的选择

    在微信小程序中,你可以使用小程序的组件和事件来实现点击+号弹出一个附着在+号旁边的弹窗,以进行多个方式的选择。以下是一个示例代码: 在wxml文件中,创建一个按钮,并为按钮绑定一个点击事件: 在上述代码中,我们创建了一个按钮,用于展示+号图标,并给按钮绑

    2024年02月14日
    浏览(45)
  • 微信小程序弹窗提示:wx.showToast、wx.showModal、wx.showLoading的使用场景与实现

    使用场景 :常规的提示,没有确定和取消按钮。 例: 属性: title:提示的内容 icon:显示的图标,合法值有success、error、loading、none image:自定义图标的本地路径,优先级高于icon duration:提示的延迟时间 mask:是否显示透明蒙层,防止触摸穿透 success:API调用成功后的回调函

    2024年02月09日
    浏览(45)
  • uniapp小程序中给web-view页面添加授权弹窗(使用cover-view组件覆盖实现该功能)

    效果图: web-view是承载网页的容器。会自动铺满整个小程序页面,个人类型的小程序暂不支持使用。 再看下面一个提示: 每个页面只能有一个 web-view,web-view 会自动铺满整个页面,并覆盖其他组件。 也就是说,小程序中使用web-view打开网页,在页面上写的其它组件会直接被

    2024年02月03日
    浏览(50)
  • 【微信小程序】使用weui组件库来实现弹出一个确认的弹窗popup,其中包含图片和名称

    在微信小程序中,你可以使用weui组件库来实现弹出一个确认的popup,并在其中包含图片和名称。以下是一个示例代码: 在wxml文件中,添加一个按钮来触发弹出确认popup: 在wxss文件中,定义确认popup的样式: 在js文件中,编写相应的逻辑来显示和隐藏确认popup,并传递图片和名

    2024年02月17日
    浏览(57)
  • 使用Pycharm配置Django后端程序实现登录和注册

    一、Django项目创建 在创建Django项目之前需要在本地安装Python 1、进入Pycham之后点击文件新建项目选择新建Django项目,创建templates文件夹用来存放登录所需要的HTML页面,注意选择正确的python解释器。然后点击创建,等待创建完成即可。 2、验证Django项目是否创建成功  在终端命

    2024年02月02日
    浏览(41)
  • 木马程序(病毒)

    \\\"特洛伊木马\\\"(trojan horse)简称\\\"木马\\\",据说这个名称来源于希腊神话《木马屠城记》。古希腊有大军围攻特洛伊城,久久无法攻下。于是有人献计制造一只高二丈的大木马,假装作战马神,让士兵藏匿于巨大的木马中,大部队假装撤退而将木马摈弃于特洛伊城下。城中得知解

    2023年04月10日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包