2013-08-10 3 views
0

Так им написание программы, и мне нужно, чтобы получить список из главного окна графического интерфейса пользователя в всплывающем окне, что делает действие с выбранными опциями из главного окнаПередача переменных между двумя WxPython окнами

проблема является я не могу передать переменную, когда я называю класс для нового окна

когда я создаю экземпляр я хочу передать список по

act = Action(None, "Action") 

но это только позволяет мне передать имя окна, и если я попробуйте создать новый параметр. Я получаю эту ошибку:

Traceback (most recent call last): 
    File "C:\Documents and Settings\User\Desktop\Invent Manager.py", line 274, in auction 
    act = Action(None, "Action", "item") 
    File "C:\Documents and Settings\User\Desktop\Invent Manager.py", line 352, in __init__ 
    self.InitUI()  
    File "C:\Documents and Settings\User\Desktop\Invent Manager.py", line 357, in InitUI 
    main = GUI() 
TypeError: __init__() takes exactly 4 arguments (1 given) 

вот мой инициализации моего всплывающего окна:

def __init__(self, parent, title, item_id): 
     super(Action, self).__init__(parent, title=title, 
      size=(200, 200)) 
     self.InitUI()  
     self.Centre() 
     self.Show() 

кто-то пожалуйста, скажите мне, как я могу это сделать!

здесь является основным графическим интерфейс __init__:

class GUI(wx.Frame): 
    #GUI 
    def __init__(self, parent, id, title): 
     self.inv = GetInvent() 
     self.inv.Login() 
     self.packages = self.inv.getinv() 
     self.packages2 = self.inv.getSDB() 
     self.id_list = self.inv.id_list 

     self.show = 1 

     wx.Frame.__init__(self, parent, id, title, size=(450, 400)) 

ответ

1

Попробуйте следующий код. заменил __init__ подпись, чтобы аргументы были необязательными, кроме родителей, название:

def __init__(self, parent, title, *args, **kwargs): 
     super(Action, self).__init__(parent, title=title, size=(200, 200)) 
     self.InitUI()  
     self.Centre() 
     self.Show() 
+0

так что теперь я могу добавить новые параметры или что? – Serial

+0

@ChristianCareaga. Вы можете добавить новые параметры (до '* args'). – falsetru

+0

так сказать, я хотел добавить параметр 'item', как бы это назвать? – Serial

Смежные вопросы