wxPython中的hello world完全没有反应,没有框架,没有回报

时间:2015-08-26 16:39:52

标签: wxpython

首次涉足python GUI,我使用了newboston教程。基本框架的第一课,我得到一个错误,wx.PySimpleApp()被折旧,我按照这里的说明将其更改为wx.App(False)。没有错误出现,但也没有框架。这是代码:

#!/usr/bin/env python

import wx

class duckie(wx.Frame):

    def __init__(self,parent,id):
        wx.Frame.__init__(self,parent,id, 'Frame aka window', size = (300, 200))

if __name__=='__main__':
    app=wx.App(False)
    frame=duckie(parent=None,id=-1)
    frame.Show()
    app.MainLoop

最初我把所有东西都隔开了(逗号后面的空格,操作符之前和之后等),但是我更改了它以更准确地按照教程进行操作,没有任何区别。可以理解的是,我有点不高兴我甚至无法让Hello World在这里工作。

如果需要,系统是Ubuntu,一切都是最新的。

解决。
对于有此问题的其他人,我从

更改了第10行的id标记
frame=duckie(parent=None, id=-1)

frame=duckie(None, wx.ID_ANY)

2 个答案:

答案 0 :(得分:1)

app.MainLoop

应该是:

app.MainLoop()

' - 1'或wx.ID_ANY是相同的,在Python提示符下执行以下操作:

import wx
wx.ID_ANY

我可能会这样做的小样本:

#!/usr/bin/env python

import wx


class Duckie(wx.Frame):

    def __init__(self, parent, *args, **kwargs):
        super(Duckie, self).__init__(parent, id=wx.ID_ANY,
                                     title='Frame aka window',
                                     size=(300, 200))

if __name__ == '__main__':
    app = wx.App(False)
    frame = Duckie(None)
    frame.Show()
    app.MainLoop()

以上代码将通过PEP 8(https://www.python.org/dev/peps/pep-0008/)检查,并且当使用例如PEP 8时也没有错误PyLint检查代码。

答案 1 :(得分:0)

对于有这个问题的其他人,我从

更改了第10行的id标记
frame=duckie(parent=None, id=-1)

frame=duckie(None, wx.ID_ANY)