【问题标题】:iPython wx support?iPython wx 支持?
【发布时间】:2011-05-12 14:12:56
【问题描述】:

这个问题与我最近提出的问题非常相似:Python threading- returning control to the terminal while keeping a frame open,除了我想知道如何以交互方式使用 iPython 和 wxPython。

例如,我希望这个小脚本在打开一个框架后将控制权返回给终端:

from wxPython.wx import *

class MyApp(wxApp):
    def OnInit(self):
        frame = wxFrame(NULL, -1, "Hello from wxPython")
        frame.Show(true)
        self.SetTopWindow(frame)
        return true

app = MyApp(0)
app.MainLoop()

使用“ipython -pylab”可以很好地与 plt.show() 配合使用,但它不会通过 frame.Show(True) 将控制权返回给终端。

我知道 iPython 0.11 将为此提供一个神奇的界面,但是在此期间人们使用什么来与 wxPython 进行交互会话?

谢谢! --艾琳

【问题讨论】:

  • 您是否尝试过 IPython 的 -wthread-wxversion 命令行选项?
  • 是的,我有。在此示例中,都不会将控制权返回给终端。

标签: wxpython ipython


【解决方案1】:

需要对脚本进行一些修改:

import wx

class MyApp(wx.App):
    def OnInit(self):
        frame = wx.Frame(None, -1, "Hello from wxPython")
        frame.Show(True)
        self.SetTopWindow(frame)
        return True

app = MyApp(0)
app.MainLoop()

请注意 wx 导入方式的不同 - 其余更改仅支持较新的语句。使用 ipython -pylab -wthread 运行,它工作正常:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 2019-07-16
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    • 2015-12-09
    相关资源
    最近更新 更多