如何使用wxPython修复Python中的'__init __()有多个参数值'错误

时间:2019-02-05 19:09:06

标签: python-3.x wxpython-phoenix

我正在使用wxPython,需要将带有图像目录的字符串传递给另一个封装wx.StaticBitmap的类。创建一个面板并将其传递给图像类。尝试添加任何其他参数(image_dir)时,抛出:TypeError: init ()为参数'image_dir'获得了多个值

似乎正在传递对image_dir变量的某些引用,但它的定义为:0x处的wx._core.Panel对象...属性是否随面板一起传递,但是我需要一种不同的访问方式他们?是由面板对象使用self初始化引起的吗?谢谢。

frame.py:

def create_gui_top_row(self):

    # Create group panel.
    panel = wx.Panel(self)

    col_sizer = wx.BoxSizer(wx.HORIZONTAL)
    col_sizer.AddStretchSpacer(1)

    image_dir = path.join(self.config.get_value('image_dir'), 'foo.png')

    # Create the image
    self.foo_image = core_controls.FooImage(panel, 
                                            image_dir=image_dir)

core_controls.py下的FooImage类:

class FooImage(wx.StaticBitmap):

    # Foo image display.

    def __init__(self, image_dir=None, *args, **kwargs):
        super(FooImage, self).__init__(*args, **kwargs)

        logger.info('Object info: {0}'.format(image_dir)) 

0 个答案:

没有答案