Вот простой скрипт, который делает работу на моей машине (Ubuntu 8/питон 2.5.2/wxpython2.8.10)
import wx
import os
def bindXterm(win):
winID = win.GetHandle()
print "binding xterm to window %d(%x)"%(winID,winID)
os.system("xterm -inot %d"%winID)
app = wx.PySimpleApp()
xtermFrame = wx.Frame(None)
xtermPanel = wx.Panel(xtermFrame)
xtermPanel.SetBackgroundColour((255,0,0))
app.SetTopWindow(xtermFrame)
xtermFrame.Show()
wx.CallLater(1000, bindXterm, xtermPanel)
app.MainLoop()
Две вещи, чтобы отметить это
- Мой Xterm только -в вариант, используйте идентификатор окна, данное -в качестве родительского окна, а не в корневом окне по умолчанию
- Мы не можем просто прикрепить Xterm перед тем , начиная с приложения, поэтому с помощью calllater и он отлично работает
Спасибо. В редкий момент ясности я понял, почему мой код не работает - я пытался внедрить xterm в OSX на основе какао версии wxPython. Этот код отлично работает на моем ящике Linux, хотя я удивлен, что работает «-inot». Разве это не должно быть «-инто»? –