pygtk GUIを設計していて、それに外部アプリケーションを埋め込みたいと思っています。
誰かがこれをどのように行うことができるか考えていますか?
あなたのアプリにどのアプリケーションを埋め込もうとしているかによって異なりますが、他のアプリが GTK アプリ (または XEMBED プロトコルをサポートするアプリ) である場合、gtk.Plugとgtk.Socketでこれを行うことができるはずです。PyGTK チュートリアルには、これを行う方法を説明するセクションがあります。
http://www.pygtk.org/pygtk2tutorial/sec-PlugsAndSockets.html
これが役立つかもしれません。記事19.15を読んでください。プラグとソケットを使用して何かを埋め込むにはどうすればよいですか?(http://faq.pygtk.org/index.py?req=all#19.15)そして任意のX Windowアプリケーションを(Py)GTKソケットに埋め込む方法を見つけてください。
gtk.Plug
/ IDを取得するために外部プログラムを使用しませんgtk.Socket
。それらにはそれぞれの機能があります。例については、このチュートリアルを参照してください:リンク。
外部ウィンドウ(gtkウィンドウではない可能性があります)の親を変更しようとしている場合は、次を使用できます。
w = gdk.window_foreign_new(window_id)
オペレーティングシステムのウィンドウハンドルからgdkウィンドウオブジェクトを取得してから、
w.reparent(parent_window, x, y)
既存のgtkコンテナに親を変更します。