鱼C论坛

 找回密码
 立即注册
查看: 2587|回复: 15

让图片加载出来一段时间后自动关,要用,急急急!!!

[复制链接]
发表于 2019-9-7 21:09:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
让图片加载出来一段时间后自动关,要用,急急急!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-9-7 21:45:43 | 显示全部楼层
试试这样:

  1. from tkinter import *
  2. import time
  3. import tkinter.messagebox
  4. import ctypes
  5. import _thread
  6. root = None
  7. def msgbox(imgname, msg, title):
  8.     global root
  9.     root = Toplevel()
  10.     root.title(title)
  11.     Label(root, text=msg).pack(side=LEFT, padx=50)
  12.     image = PhotoImage(file=imgname)
  13.     Label(root, image=image).pack(side=RIGHT)
  14.     mainloop()

  15. def sleep():
  16.     # 5 是秒数
  17.     time.sleep(5)
  18.     root.destroy()
  19. whnd = ctypes.windll.kernel32.GetConsoleWindow()
  20. if whnd != 0:
  21.     ctypes.windll.user32.ShowWindow(whnd, 0)
  22.     ctypes.windll.kernel32.CloseHandle(whnd)
  23. mst = Toplevel()
  24. tkinter.messagebox.showwarning('error','程序被bug吃掉了!', parent=mst)
  25. a = tkinter.messagebox.askokcancel('提示', '是否开启自我修复模式?', parent=mst)
  26. if a == True :
  27.     time.sleep(2)
  28.     tkinter.messagebox.showinfo('修复中','已完成20%,点击确定继续修复', parent=mst)
  29.     time.sleep(2)
  30.     tkinter.messagebox.showinfo('修复中','已完成40%,点击确定继续修复', parent=mst)
  31.     time.sleep(2)
  32.     tkinter.messagebox.showinfo('修复中','已完成60%,点击确定继续修复', parent=mst)
  33.     time.sleep(2)
  34.     tkinter.messagebox.showinfo('修复中','已完成80%,点击确定继续修复', parent=mst)
  35.     time.sleep(2)
  36.     tkinter.messagebox.showinfo('修复完成','修复完成,点击确定重启程序', parent=mst)
  37.     _thread.start_new_thread(sleep, ())
  38.     msgbox(r'first.gif','sb','sb')
  39. elif a == False :
  40.     exit('程序崩溃')
  41. b = tkinter.messagebox.askokcancel('爆炸警告','是否开启终极程序(如果上课的时间不够就下课再看吧)', parent=mst)
  42. if b == True :
  43.     c = 0
  44.     while True :
  45.         print(c)
  46.         c+= 1
  47.         if c == 520 :
  48.             break
  49. elif b == False :
  50.     tkinter.messagebox.showinfo('balalalala','下课一定要看一下', parent=mst)
  51. tkinter.messagebox.showinfo('balalalala','哦,对了,真的希沃白板和计算机在英语听力里', parent=mst)
  52. tkinter.messagebox.showinfo('balalalala','这个程序也在里面,可以复制一下', parent=mst)
  53. exit()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-7 22:36:19 | 显示全部楼层

Unhandled exception in thread started by <function sleep at 0x022C6228>
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\教师节\新建文本文档.py", line 17, in sleep
    root.destroy()
AttributeError: 'NoneType' object has no attribute 'destroy'
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-7 22:55:44 | 显示全部楼层

你弄错了吧......
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-8 06:36:49 From FishC Mobile | 显示全部楼层
一个账号 发表于 2019-9-7 22:55
你弄错了吧......

?哪里错了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-8 08:22:25 | 显示全部楼层

代码是这样的
  1. from tkinter import *
  2. import time
  3. import tkinter.messagebox
  4. import ctypes
  5. import _thread
  6. root = None
  7. def msgbox(imgname, msg, title):
  8.     root = Tk()
  9.     root.title(title)
  10.     Label(root, text=msg).pack(side=LEFT, padx=50)
  11.     image = PhotoImage(file=imgname)
  12.     Label(root, image=image).pack(side=RIGHT)
  13.     mainloop()
  14. def sleep():
  15.     # 5 是秒数
  16.     time.sleep(5)
  17.     root.destroy()
  18. _thread.start_new_thread(sleep, ())
  19. msgbox(r'first.gif','sb','sb')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-8 08:29:22 | 显示全部楼层

不是说让图片加载出来一段时间后自动关吗,你弄什么程序被bug吃掉了,爆炸警告,连图片都没有......
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-8 08:52:07 | 显示全部楼层
一个账号 发表于 2019-9-8 08:29
不是说让图片加载出来一段时间后自动关吗,你弄什么程序被bug吃掉了,爆炸警告,连图片都没有......

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-8 08:52:26 From FishC Mobile | 显示全部楼层
一个账号 发表于 2019-9-8 08:29
不是说让图片加载出来一段时间后自动关吗,你弄什么程序被bug吃掉了,爆炸警告,连图片都没有......

这是根据他的原程序改的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-8 09:10:45 | 显示全部楼层
zltzlt 发表于 2019-9-8 08:52
这是根据他的原程序改的

so问题出在哪里呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-8 09:11:22 | 显示全部楼层
zltzlt 发表于 2019-9-8 08:52
这是根据他的原程序改的

还有调用了自定义函数后就不能继续执行程序了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-11 22:19:37 | 显示全部楼层
本帖最后由 留声旅途 于 2019-9-11 22:22 编辑

我刚看到这问题感觉好简单,写着写着不对呀,有mainloop怎么搞计时,网上搜了一下才发现还有多线程这种骚东西,先学现卖,写了一段,楼主可以参考一下
  1. import tkinter as tk
  2. import time
  3. import threading
  4. window = tk.Tk()
  5. photo = tk.PhotoImage(file='image.gif')#这里是图片路径
  6. A = tk.Label(window,image=photo)
  7. A.pack()
  8. def timing():
  9.     time.sleep(3)#这里是时间
  10.     window.destroy()
  11. threading.Thread(target=timing).start()
  12. window.mainloop()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-12 19:16:12 | 显示全部楼层
@zltzlt 他有弄代码吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-13 15:16:43 | 显示全部楼层
本帖最后由 一个账号 于 2019-9-13 15:21 编辑

要下pygame,在命令行里输入pip install pygame
  1. import pygame
  2. import sys

  3. from pygame.locals import *

  4. pygame.init()

  5. size = 500, 500     # 根据你的图片大小调整窗口大小
  6. screen = pygame.display.set_mode(size)

  7. img_name = "image"   # 你的图片名称
  8. img = pygame.image.load(img_name)
  9. screen.blit(img, (0, 0))
  10. pygame.display.flip()

  11. time = 10   # 关闭时间

  12. CLOSE = USEREVENT
  13. pygame.time.set_timer(CLOSE, time * 1000)

  14. while True:
  15.     for event in pygame.event.get():
  16.         if event.type == QUIT or event.type == CLOSE:
  17.             pygame.quit()
  18.             sys.exit()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-13 16:16:28 | 显示全部楼层
留声旅途 发表于 2019-9-11 22:19
我刚看到这问题感觉好简单,写着写着不对呀,有mainloop怎么搞计时,网上搜了一下才发现还有多线程这种骚东 ...

threading怎么弄
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-16 09:52:03 | 显示全部楼层

什么怎么弄,这不是一个库吗?你是问怎么装吗?还是想学,你要想学去百度一下吧,我也不熟。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-18 02:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表