import tkinter as tk import subprocess # Dictionary of applications: key is the button text, value is the command to execute applications = { "Launch Terminal": ['qterminal'], "Launch rqt": ["rqt"], "Launch rviz2": ["rviz2"], "Launch Gazebo": ["/spawn_drones.sh"], "Launch Gazebo Standalone": "gz sim -v4".split(), # Add more applications here if needed } # Function to launch an application def launch_app(command): try: subprocess.Popen(command) except FileNotFoundError: print(f"{command[0]} not found. Make sure it's installed and accessible in the PATH.") # Create the main application window root = tk.Tk() root.title("Spiri SDK Launcher") label = tk.Label(root, text="Spiri Robotics SDK", font=("Arial", 14)) label.pack(pady=10) # Create and place buttons dynamically based on the dictionary for app_name, command in applications.items(): button = tk.Button(root, text=app_name, command=lambda cmd=command: launch_app(cmd), width=20, height=2) button.pack() # Run the Tkinter main loop root.mainloop()