• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Pycharm制作搞怪弹窗的实现代码

    闲来无聊用python制作了一个搞怪的桌面弹窗程序,惊喜连连哦

    运行动图

    实现代码:

    import tkinter as tk
    import tkinter.font as tkFont # 引入字体模块
    import time
    import sys
    import pygame
    import random
    import threading
    import win32api
    import wmi
    from tkinter.messagebox import*
    
    #播放音频
    path = "mp3/暗恋.mp3"#一开始的音乐,替换成你的地址
    pygame.mixer.init()
    pygame.mixer.music.load(path)
    pygame.mixer.music.play()
    
    #设置样式
    WINWIDTH = 800#窗体宽度
    WINHEIGHT = 600#窗体高度
    WINX = 400#弹窗横坐标
    WINY = 100#弹窗纵坐标
    img_x = 250#设置图片横坐标
    img_y = 100#设置图片纵坐标
    question_x = 250#设置问题横坐标
    question_y = 60#设置问题纵坐标
    button_width = 100#设置按钮宽度
    button_height = 40#设置按钮高度
    button_y = 520#按钮纵坐标
    yes_button_x = img_x - button_width // 2#确定按钮横坐标
    no_button_x = WINWIDTH - img_x - button_width//2#否定按钮横坐标
    
    #显示文本
    global text
    global title
    question = "question?"
    yes = "OK"
    no = "Wait"
    title = "I need money"
    
    #播放音频
    def Start_music():
      path = "mp3/殿堂.mp3"#点击ok按钮后播放的音频,这里替换成你的音频文件地址
      pygame.mixer.init()
      pygame.mixer.music.load(path)
      pygame.mixer.music.play()
    
    
    #调整屏幕亮度
    def ScreenChange() -> object:
      SCREEN = wmi.WMI(namespace='root\WMI')
      a = SCREEN.WmiMonitorBrightnessMethods()[0]
      a.WmiSetBrightness(Brightness=100, Timeout=500)
    
    
    #调整Windows音量
    def changeVd():
      WM_APPCOMMAND = 0x319
      APPCOMMAND_VOLUME_MAX = 0x0a
      APPCOMMAND_VOLUME_MIN = 0x09
      # 音量最大
      win32api.PostMessage(-1, WM_APPCOMMAND, 0x30292, APPCOMMAND_VOLUME_MAX * 0x10000)
      # 音量最小
      #win32api.PostMessage(-1, WM_APPCOMMAND, 0x30292, APPCOMMAND_VOLUME_MIN * 0x10000)
    
    
    #弹窗炸弹
    def dow():
      window = tk.Tk()
      width = window.winfo_screenwidth()
      height = window.winfo_screenheight()
      a = random.randrange(0, width)
      b = random.randrange(0, height)
      window.title(title)
      window.geometry("300x50" + "+" + str(a) + "+" + str(b))
      tk.Label(window,
           text=text, # 标签的文字
           # bg='white', # 背景颜色
           font=('楷体', 17), # 字体和字体大小
           width=15, height=2 # 标签长宽
           ).pack() # 固定窗口位置
      window.mainloop()
    
    
    #触发弹窗炸弹
    def open_start():
      threads = []
      for i in range(50): # 需要的弹框数量
        t = threading.Thread(target=dow)
        t.setDaemon(True)
        threads.append(t)
        time.sleep(0.1)
        threads[i].start()
    
    
    # 新建无法直接关闭的TK类
    class NewTk(tk.Tk):
      #重写“X”按钮
      def destroy(self):
        root = tk.Tk()
        root.withdraw()
        for i in range(3):
          if i == 0:
            showinfo(title="title1", message="question1")
          if i == 1:
            showinfo(title="title2", message="question2")
          if i == 2:
            showinfo(title="title3", message="question3")
            global text
            text = "title"
            global title
            title = "text"
            open_start()
    
    #主程序体
    thread = threading.Thread(target=changeVd)
    thread.setDaemon(True)
    thread.start()
    ScreenChange()
    win = NewTk()
    win.title(title)
    win.geometry("%sx%s+%s+%s" % (WINWIDTH, WINHEIGHT, WINX, WINY))#样式设置
    win.resizable(0, 0)#阻止窗口大小化
    
    photo = tk.PhotoImage(file="lib/没钱了.gif")#这里替换成你的图片地址
    imgLabel = tk.Label(win, image=photo)#将图片添加至窗口
    imgLabel.place(x=img_x, y=img_y)#设置图片位置
    
    question_text = tkFont.Font(size=20, weight=tkFont.BOLD)
    q = tk.Label(win, text=question, font=question_text)
    q.place(x=question_x, y=question_y)
    
    #OK按钮点击事件
    def click_yes():
      Start_music()
      root = tk.Tk()
      root.withdraw()
      for i in range(5):
        if i == 0:
          showinfo(title="title1", message="text1")
        if i == 1:
          showinfo(title="title2", message="text2")
        if i == 2:
          showinfo(title="title3", message="text3")
          global text
          text = "text"
          global title
          title = "title"
          open_start()
        if i == 3:
          print("运行退出程序")
          sys.exit(0)
    
    yes_button = tk.Button(win, text=yes, command=click_yes)
    yes_button.place(x=yes_button_x, y=button_y, width=button_width, height=button_height)
    
    no_button = tk.Button(win, text=no)
    no_button.place(x=no_button_x, y=button_y, width=button_width, height=button_height)
    
    #NO按钮触碰事件
    def mouse_in_no_click(event):
      bx, by = random.randint(button_width, WINWIDTH-button_width), random.randint(button_height, WINHEIGHT-button_height)
      no_button.place(x=bx, y=by)
    
    no_button.bind("Motion>", mouse_in_no_click)
    win.mainloop()

    学会了吗,快去试一试吧,将文本和图片替换掉又能制造更多的惊喜呦

    到此这篇关于Pycharm制作搞怪弹窗的实现代码的文章就介绍到这了,更多相关Pycharm制作弹窗内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • Python爬虫之Selenium警告框(弹窗)处理
    • 通过python实现弹窗广告拦截过程详解
    • python 弹窗提示警告框MessageBox的实例
    • Python GUI编程 文本弹窗的实例
    • python实现弹窗祝福效果
    • python实现祝福弹窗效果
    上一篇:python 高阶函数简单介绍
    下一篇:Python爬虫UA伪装爬取的实例讲解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Pycharm制作搞怪弹窗的实现代码 Pycharm,制作,搞怪,弹窗,的,