Python Tkinter如何实现点击按钮打开Windows 10已安装的指定应用?
实现方案
实现该功能的核心逻辑是:使用Tkinter绘制GUI按钮,绑定点击回调函数,回调函数内通过subprocess模块直接调用目标应用的可执行文件路径,即可直接启动应用而非打开文件目录。
完整可运行示例代码
import tkinter as tk import subprocess import sys def open_target_app(): # 根据你的操作系统修改对应目标应用的可执行文件路径 if sys.platform.startswith('win32'): # Windows系统计算器默认路径,其他应用替换为对应exe的绝对路径即可 app_path = "C:\\Windows\\System32\\calc.exe" subprocess.Popen(app_path, shell=True) elif sys.platform.startswith('darwin'): # macOS系统打开计算器,其他应用替换为对应.app路径 app_path = "/Applications/Calculator.app" subprocess.Popen(["open", app_path]) elif sys.platform.startswith('linux'): # Linux系统计算器,不同发行版可替换为gnome-calculator/kcalc等 app_path = "gnome-calculator" subprocess.Popen(app_path) else: print("不支持的操作系统") return # 初始化Tkinter窗口 root = tk.Tk() root.title("启动指定应用") root.geometry("300x150") # 创建按钮并绑定点击事件 open_btn = tk.Button(root, text="打开计算器", command=open_target_app, padx=20, pady=10) open_btn.pack(pady=50) # 运行主循环 root.mainloop()
注意事项
- 替换其他应用时,只需要修改
open_target_app函数内app_path为对应应用的可执行文件绝对路径即可 - Windows系统如果路径包含空格,需要给路径套一层双引号,例如
app_path = '"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"' subprocess.Popen不会阻塞Tkinter主循环,点击按钮后GUI不会出现无响应的情况
内容的提问来源于stack exchange,提问作者BartSimpson
相关产品推荐
相关产品推荐

