2016-05-11 3 views
0

Моя проблема заключается в том, что когда я положил Qaction, инициированный в pyqt, чтобы открыть QDialog, я имел обыкновение делать с лямбда-функциями (передавать параметры), но когда Я протестировать GUI, я открыл для впервые диалога, но, когда я открыл второй раз, оболочка бросает меня эта ошибкаPyqt Сигнал для открытия диалогового окна Функция лямбда-функции: объект Ui_dialog не может быть вызван

Traceback (most recent call last): 
    File "C:\path\to\file\launcher.py", line 51, in <lambda> 
    self.ui.actionIngresar_Licencia.triggered.connect(lambda: self.Dlg_IngresarLicencia()) 
TypeError: 'Ui_dialogoLicencia' object is not callable 

Хорошо, вы можете сказать мне, что я дон передать какой-либо параметр, но если эта ошибка появляется, когда мне нужно передать параметры, это будет так плохо. Когда я помещаю функцию без лямбда-функции, gui отлично работает Вот функция с диалогом.

def Dlg_IngresarLicencia(self): 
    self.Dlg_IngresarLicencia = Ui_dialogoLicencia() 
    self.dialogo = QtGui.QDialog(parent=None) 
    self.Dlg_IngresarLicencia.setupUi(self.dialogo) 
    self.Dlg_IngresarLicencia.btn_ObtenerLicencia.clicked.connect(lambda: Componentes().clickObtenerLicencia()) 
    self.dialogo.show() 

Спасибо, ребята, я надеюсь, что вы можете помочь мне

ответ

1

Ваш метод называется так же, как атрибут вы заходящего:

def Dlg_IngresarLicencia(self): 
    self.Dlg_IngresarLicencia = Ui_dialogoLicencia() 

Из-за этого, после того, как первый позвоню переопределить метод с экземпляром Ui_dialogoLicencia, который не является вызываемым.

+0

Я чувствую себя как dor.k Спасибо за ответ человек! – Pastrana27

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