如何让Python编写的函数在程序启动时自动运行无需手动触发
自动运行函数的实现方法
你当前用的是Tkinter桌面应用框架,按照以下步骤操作即可实现启动自动执行:
- 确保
check_settings函数、以及函数内部用到的view_setting变量、view_menu菜单组件都已经完成初始化定义 - 在Tkinter主窗口
mainloop()启动前直接调用check_settings()即可
完整示例代码如下:
import tkinter as tk view_setting = "1" # 初始化主窗口 root = tk.Tk() root.title("测试程序") # 初始化视图菜单 menubar = tk.Menu(root) view_menu = tk.Menu(menubar, tearoff=0) view_menu.add_command(label="Change Background", state="disabled") menubar.add_cascade(label="视图", menu=view_menu) root.config(menu=menubar) # 你的自定义函数 def check_settings(): if view_setting == "1": view_menu.entryconfig("Change Background", state = "normal") # 程序启动时自动调用,放在mainloop之前即可 check_settings() # 启动主事件循环 root.mainloop()
如果需要等界面完全渲染完成后再执行函数,可以改用after方法调度执行:
# 0代表延迟0毫秒,会在首次事件循环空闲时触发函数 root.after(0, check_settings)
如果你的程序是用类封装的Tkinter结构,只要把函数调用放在类初始化方法的末尾、mainloop启动前即可。
内容的提问来源于stack exchange,提问作者user16753347
相关产品推荐
相关产品推荐

