[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