Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 13, 2016 19:42:16

A.N.Onim
Зарегистрирован: 2015-11-08
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с передачей аргумента

Добрый день!
Есть код:

class Html(wx.html.HtmlWindow):
    def __init__(self, *args, **kwargs):
        wx.html.HtmlWindow.__init__(self, *args, **kwargs)
        self.wind = kwargs['wind']

-

        self.html.panel.html = Html(self.html.panel, -1, (50, 50), (500, 400), wind='sd')

но выдает ошибку
Traceback (most recent call last):
  File "C:\Users\VMR\Desktop\library\Library.py", line 237, in <module>
    app = MyApp()
  File "C:\Python27\lib\site-packages\wx-3.0-msw\wx\_core.py", line 8631, in __init__
    self._BootstrapApp()
  File "C:\Python27\lib\site-packages\wx-3.0-msw\wx\_core.py", line 8196, in _BootstrapApp
    return _core_.PyApp__BootstrapApp(*args, **kwargs)
  File "C:\Users\VMR\Desktop\library\Library.py", line 231, in OnInit
    style=wx.DEFAULT_FRAME_STYLE^wx.MAXIMIZE_BOX^wx.RESIZE_BORDER)
  File "C:\Users\VMR\Desktop\library\Library.py", line 129, in __init__
    self.html.panel.html = Html(self.html.panel, -1, (50, 50), (500, 400), wind='sd')
  File "C:\Users\VMR\Desktop\library\Library.py", line 21, in __init__
    wx.html.HtmlWindow.__init__(self, *args, **kwargs)
  File "C:\Python27\lib\site-packages\wx-3.0-msw\wx\html.py", line 971, in __init__
    _html.HtmlWindow_swiginit(self,_html.new_HtmlWindow(*args, **kwargs))
TypeError: 'wind' is an invalid keyword argument for this function
>>> 

Что не так?

Офлайн

#2 Фев. 14, 2016 00:09:41

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Проблема с передачей аргумента

A.N.Onim
wx.html.HtmlWindow.__init__(self, *args, **kwargs)
A.N.Onim
TypeError: ‘wind’ is an invalid keyword argument for this function
вы передаете в функцию именованный аргумент, который она не поддерживает



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Фев. 14, 2016 18:45:26

A.N.Onim
Зарегистрирован: 2015-11-08
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с передачей аргумента

А как тогда сделать? просто мне нужно при создании класа Html передать ему эту переменную.

Офлайн

#4 Фев. 15, 2016 04:36:39

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Проблема с передачей аргумента

Решение в лоб как то так

from copy import copy
lass Html(wx.html.HtmlWindow):
    def __init__(self, *args, **kwargs):
        tmp = copy(kwargs)
        del tmp['wind']
        wx.html.HtmlWindow.__init__(self, *args, **tmp)
        self.wind = kwargs['wind']



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#5 Фев. 15, 2016 14:16:55

A.N.Onim
Зарегистрирован: 2015-11-08
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с передачей аргумента

JOHN_16, спасибо)

Офлайн

#6 Фев. 16, 2016 10:38:05

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2843
Репутация: +  186  -
Профиль   Отправить e-mail  

Проблема с передачей аргумента

> Решение в лоб как то так

Ну ты и замутил… всё намного проще!

class Html(wx.html.HtmlWindow):
    def __init__(self, wind="", *args, **kwargs):
        wx.html.HtmlWindow.__init__(self, *args, **kwargs)
        self.wind = wind



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Отредактировано Rodegast (Фев. 16, 2016 10:39:11)

Офлайн

#7 Фев. 16, 2016 11:10:04

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Проблема с передачей аргумента

Rodegast
хм )) в данном конкретном случае полностью согласен …



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version