【问题标题】:example of embeddeding xterm in wxPython panel在 wxPython 面板中嵌入 xterm 的示例
【发布时间】:2009-07-19 19:24:44
【问题描述】:

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

【问题讨论】:

    标签: wxpython


    【解决方案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 而且效果很好

    【讨论】:

    • 谢谢。在一个难得的清醒时刻,我意识到为什么我的代码不起作用——我试图在基于 OSX 可可的 wxPython 版本中嵌入一个 xterm。这段代码在我的 linux 机器上运行良好,但我很惊讶“-inot”的工作原理。那不应该是“-into”吗?
    猜你喜欢
    • 2012-05-31
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    • 1970-01-01
    • 1970-01-01
    • 2018-07-09
    相关资源
    最近更新 更多