gpt4 book ai didi

python - 在 Python GUI 中嵌入 Linux 程序?

转载 作者:行者123 更新时间:2023-11-28 22:28:45 33 4
gpt4 key购买 nike

我正在为我的汽车构建一个类似于 Tesla Model S 的触摸界面,我想原生支持 Spotify。我正在使用 tkinter 在 Python 中构建我的 GUI,我想知道是否有一种方法可以在所述 GUI 的预定义框架内从 GUI 中启动 linux 程序(在本例中为 Spotify)。我想我将其视为网页中的 iframe。

我知道这可能不是最好的方法,但我的车 99% 的时间都处于离线状态,所以我需要支持离线流媒体,我可以从 Spotify 应用程序中做到这一点,而不是经常使用他们的网络 API。

最佳答案

Tkinter 具有嵌入其他基于 X11 的应用程序的能力,但前提是 Windows 本身支持嵌入。

诀窍是获取 tkinter 小部件的 X 窗口 ID,然后让其他程序写入该窗口 ID。

据我所知,只有少数程序可以实现这一点。 xterm 是一个。我想我过去也用过 mplayer。

这是一个使用 xterm 的非常简单的例子:

import tkinter as tk
import subprocess

root = tk.Tk()
root.geometry("400x400")

label = tk.Label(root, text="Example of xterm embedded in frame")
xterm_frame = tk.Frame(root)

label.pack(side="top", fill="x")
xterm_frame.pack(fill="both", expand=True, padx=20, pady=20)

xterm_frame_id = xterm_frame.winfo_id()
subprocess.call("xterm -into %d &" % xterm_frame_id, shell=True)

root.mainloop()

关于python - 在 Python GUI 中嵌入 Linux 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43401267/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com