WxPython - 对话框,模块对象不可调用

时间:2010-12-09 18:25:54

标签: module dialog wxpython callable

我在文件Dialog1.py

中有一个自定义Dialog类
class Dialog1(wx.Dialog):
def __init__(self, prnt):
    wx.Dialog.__init__(self, id=wxID_DIALOG1, name='Dialog1', parent=prnt,
          pos=wx.Point(110, 140), size=wx.Size(400, 498),
          style=wx.DEFAULT_DIALOG_STYLE, title='Dialog1')

在其他文件框架中 - 带按钮的wx.Frame

self.button1.Bind(wx.EVT_BUTTON, self.Dec, id=wxID_FRAME3BUTTON1)

和显示Dialog的方法

def Dec(self, event):
    import Dialog1
    self.dialog = Dialog1(self)
    self.dialog.ShowModal()
    #dialog.Destroy()
    return True

当我按下此按钮时出现错误;

TypeError: 'module' is not Callable

为什么?,请帮帮我

编辑:好的现在正在工作,很多复制粘贴方法...对不起

REMOVE THIS QUESTION

1 个答案:

答案 0 :(得分:1)

“'模块'不可调用”错误通常意味着您执行了类似的操作:

import Foo
...
foo = Foo()

......当你应该做的事情时:

from Foo import Foo
...
foo = Foo

换句话说,你在某个地方有一个糟糕的import语句,你从那个模块导入整个库而不是类或函数。

我的猜测是,你有一个名为Dialog1.py的文件,里面有Dialog1类。这意味着您需要这样做:

from Dialog1 import Dialog1
...
self.dialog = Dialog1(self)