在 wxPython 面板中嵌入 xterm 的示例

问题描述 投票:0回答:1

我正在寻找在 wxPython 面板中嵌入 xterm 窗口的示例或建议。我想我可以使用“wid=somePanel.GetHandle()”之类的内容获取面板的窗口 ID,并且我应该能够将其传递给“xterm -use wid”,但到目前为止我还没有太多运气做到这一点工作。

wxpython xterm
1个回答
1
投票

这是一个可以在我的机器上运行的简单脚本(ubuntu 8/python 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()

有两点需要注意的是

  1. 我的 xterm 只有 -into 选项,使用 赋予 -into 的窗口 ID 作为 父窗口而不是 默认根窗口
  2. 我们不能只在之前附加 xterm 启动应用程序,因此使用 calllater 而且效果很好
© www.soinside.com 2019 - 2024. All rights reserved.