Pyqt Signal to open dialog lambda function error: Object Ui_dialog is not callable
Pyqt Signal to open dialog lambda function error: Object Ui_dialog is not callable
我的问题是,当我在 pyqt 中放置一个 Qaction 触发来打开一个 QDialog 时,我曾经使用 lambda 函数(传递参数),但是当我测试 GUI 时,我第一次打开了对话框,但是,当我第二次打开时,shell 抛出这个错误
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
好吧,你可以说我不传任何参数,但是要传参数的时候出现这个错误,那就惨了。当我在没有 lambda 函数的情况下放置函数时,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()
谢谢大家,希望大家能帮帮我
您的方法的调用方式与您设置的属性相同:
def Dlg_IngresarLicencia(self):
self.Dlg_IngresarLicencia = Ui_dialogoLicencia()
因此,在第一次调用后,您使用不可调用的 Ui_dialogoLicencia
实例覆盖该方法。
我的问题是,当我在 pyqt 中放置一个 Qaction 触发来打开一个 QDialog 时,我曾经使用 lambda 函数(传递参数),但是当我测试 GUI 时,我第一次打开了对话框,但是,当我第二次打开时,shell 抛出这个错误
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
好吧,你可以说我不传任何参数,但是要传参数的时候出现这个错误,那就惨了。当我在没有 lambda 函数的情况下放置函数时,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()
谢谢大家,希望大家能帮帮我
您的方法的调用方式与您设置的属性相同:
def Dlg_IngresarLicencia(self):
self.Dlg_IngresarLicencia = Ui_dialogoLicencia()
因此,在第一次调用后,您使用不可调用的 Ui_dialogoLicencia
实例覆盖该方法。