[pyar] pyqt conexión con funciones importadas
Alexis Waisman
alexis.waisman en gmail.com
Mar Oct 1 09:07:53 -03 2019
Cristian , me parece q
El lun., 30 sept. 2019 a las 23:28, Cristhian Martin (<cristhian en linuxar.com>)
escribió:
> 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_bancos,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)
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20191001/26b7f488/attachment-0001.html>
Más información sobre la lista de distribución pyar