You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Tkinter创建软件加载窗口,7秒后自动打开home.py主程序

Tkinter 7秒自动跳转加载窗口实现方案

核心注意点

  • 不要直接使用time.sleep()实现延时,该方法会阻塞Tkinter的主事件循环,导致加载窗口全程卡死无响应
  • 用Tkinter内置的after()方法实现异步延时调度,不会阻塞窗口正常渲染
  • 跳转运行home.py可通过subprocess模块调用Python解释器执行外部脚本实现

完整修正代码

from tkinter import *
import subprocess
import os

root = Tk()
root.title("load")
root.geometry("300x300")
# 固定加载窗口大小不可调整,符合常规软件加载页设计
root.resizable(False, False)

lbl = Label(root, text="EXAMPLE", font=("Calibri 15 bold"))
# 原代码此处语法错误,放置组件需调用place/grid/pack方法,此处用place匹配你设定的坐标
lbl.place(x=40, y=40)

def wait_and_go():
    # 先销毁当前加载窗口
    root.destroy()
    # 调用同目录下的home.py主程序
    if os.path.exists("home.py"):
        subprocess.Popen(["python", "home.py"])
    else:
        print("错误:未找到主程序文件home.py")

# 注册延时任务:7000毫秒=7秒后执行跳转逻辑
root.after(7000, wait_and_go)

# 启动加载窗口的主事件循环
root.mainloop()

代码说明

  • after(7000, wait_and_go)第一个参数为延时毫秒数,第二个为延时结束后执行的函数,全程不会阻塞窗口正常显示
  • 用subprocess.Popen运行外部脚本,不会和当前进程绑定,加载窗口销毁后主程序可独立正常运行
  • 增加了home.py存在性判断,避免运行时报错无提示
  • 如果你的系统默认Python命令为python3,将subprocess.Popen参数里的"python"替换为"python3"即可正常运行

内容的提问来源于stack exchange,提问作者user17503353

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 19:54:09