[pyar] pyqt conexión con funciones importadas

Cristhian Martin cristhian en linuxar.com
Lun Sep 30 23:28:06 -03 2019


Antes que nada buenas noches, hace un tiempo que no escribía en la lista, 
aunque si leo periodicamente los correos que llegan de esta.

Como siempre estoy sigo desarrollando con pyqt y en esta oportunidad tengo un 
código que hace un par de días no le puedo encontrar la solución y puede que 
sea una tonteria pero no me doy cuenta. Mas abajo pego el código en cuestión el 
mismo arma un menú de acuerdo a una estructura de carpetas y parámetros en 
los archivos de configuración que hay en ellas el problema me surge a la hora de 
conectar los botones con funciones que tambien son importadas, pero todos me 
quedan conectados a la misma función y no logro detectar por que?? Agradecería 
si alguien me puede hechar una mano.

Saludos Cordiales!!!!!

Contenido del archivo cfg
cfg = btn_abm_bancos,ABM 
Bancos,11000,dlg_abm_bancos.py,Modulos.Configuracion.bancos.dlg_abm_banco
s,ejecutar_banco


def crear_menu(self, modulos):   for nombre in modulos:      self.ui.page = 
QtWidgets.QWidget()      self.ui.page.setObjectName(nombre)      
self.ui.toolBox.addItem(self.ui.page, nombre)      self.ui.verticalLayout = 
QtWidgets.QVBoxLayout(self.ui.page)      
self.ui.verticalLayout.setObjectName("layout_"+ nombre)      self.ui.scrollArea = 
QtWidgets.QScrollArea(self.ui.page)      
self.ui.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame)      
self.ui.scrollArea.setLineWidth(1)      self.ui.scrollArea.setWidgetResizable(True)      
self.ui.scrollArea.setObjectName("scrollArea_" + nombre)      estructura, 
submodulos = contar_modulos(join('Modulos', nombre))      for submodulo in 
submodulos:         if submodulo[0:1] != '.':            path = join('.','Modulos', 
nombre, submodulo)            f = open(join(path, 'cfg'), 'r')            cfg = f.readline()            
f.close()            cfg = cfg.split(',')            boton = QtWidgets.QPushButton()            
icono = QtGui.QIcon()            icono.addFile(join(path, 'icono.png'), 
QtCore.QSize(32, 32), QtGui.QIcon.Normal, QtGui.QIcon.Off)            
boton.setIcon(icono)            boton.setIconSize(QtCore.QSize(32, 32))            
boton.setObjectName(cfg[0])            boton.setFlat(True)            
boton.setWhatsThis(cfg[2])            boton.setText(cfg[1])            modulo = 
importlib.import_module(cfg[4].replace('\n', ''))            funcion = getattr(modulo, 
cfg[5].replace('\n', ''))            boton.clicked.connect(lambda: funcion(self.ui))            
self.ui.verticalLayout.addWidget(boton)      spacerItem = 
QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, 
QtWidgets.QSizePolicy.Expanding)      self.ui.verticalLayout.addItem(spacerItem)
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20190930/276b651f/attachment.html>


Más información sobre la lista de distribución pyar