일부 응용 프로그램이 내 파이썬 응용 프로그램 내에서 위젯처럼 보이길 원합니다.파이썬 GUI 프레임 워크를 사용하여 내 응용 프로그램에 일부 응용 프로그램 윈도우를 포함하는 방법
그게 전부입니다. 나는 그들 사이에 어떤 상호 작용이 필요 없다. 나는 의 솔루션에 관심이 있습니다. 모든 Windows 및 x 윈도우 용 GUI 툴킷.
Tkinter를 사용하는 것이 좋지만 중요하지는 않습니다.
일부 응용 프로그램이 내 파이썬 응용 프로그램 내에서 위젯처럼 보이길 원합니다.파이썬 GUI 프레임 워크를 사용하여 내 응용 프로그램에 일부 응용 프로그램 윈도우를 포함하는 방법
그게 전부입니다. 나는 그들 사이에 어떤 상호 작용이 필요 없다. 나는 의 솔루션에 관심이 있습니다. 모든 Windows 및 x 윈도우 용 GUI 툴킷.
Tkinter를 사용하는 것이 좋지만 중요하지는 않습니다.
X 윈도우 (예 : Linux, FreeBSD, Solaris)에서 GTK를 사용하면 XEMBED 프로토콜을 사용하여 gtk.Socket
을 사용하여 위젯을 내장 할 수 있습니다. 안타깝게도, 실행중인 응용 프로그램은 명시 적으로 지원해야하므로 자신을 포함 시키도록 말할 수 있습니다. 일부 응용 프로그램은이 기능을 지원하지 않습니다. 특히, 나는 Firefox로 그것을 할 수있는 방법을 찾을 수 없습니다. 글리프 대답에 대한 언급을
import os
import gtk
from gtk import Socket, Button, Window, VBox, HBox
w = Window()
e = Button("Emacs")
x = Button("XTerm")
s = Socket()
v = VBox()
h = HBox()
w.add(v)
v.add(s)
h.add(e)
h.add(x)
v.pack_start(h, expand=False)
def runemacs(btn):
x.set_sensitive(False); e.set_sensitive(False)
os.spawnlp(os.P_NOWAIT, "emacs",
"emacs", "--parent-id", str(s.get_id()))
def runxterm(btn):
x.set_sensitive(False); e.set_sensitive(False)
os.spawnlp(os.P_NOWAIT, "xterm",
"xterm", "-into", str(s.get_id()))
e.connect('clicked', runemacs)
x.connect('clicked', runxterm)
w.show_all()
gtk.main()
충분하지 평판 :
그럼에도 불구하고, 여기에 X 터미널이나 이맥스 세션 다음 GTK 창 내부 중 하나를 실행하는 샘플 프로그램입니다. 하나는 ~/.Xresources
에
XTerm*allowSendEvents: True
을 추가해야합니다 위의 의견뿐만 아니라, xterm 등의 작업을합니다. (그리고 아마도 그들을 다시로드 xrdb -load ~/.Xresources
)
나는 그것이 고도의 플랫폼에 의존한다고 생각해. 자세한 내용을 알려주십시오. – yairchu