Python y Qt4 (PyQt4), conexiones de signals externas a la MainWindow
Llevaba un par de días arrastrando un problema tonto y con poco sentido. Mi andadura con Qt4 comenzó con C++ y esto de pasarme a Python ha traído una diferencia con respecto a la forma de implementar la herencia en clases propias.
Al tener cierta experiencia con Qt4 y C++ pasé por alto documentarme mucho sobre los inicios en PyQt4, y esto me trajo el siguiente problema.
Al abrir diálogos cuyo padre era la aplicación que heredaba de QMainWindow, los connect dentro de estos diálogos no funcionaban.
Mi código era sencillo, los diálogos heredaban de QDialog y se llamaban desde la QMainWindow con una simple construcción de mi clase Diálogo.
dialog = myDialog(self.window)
Donde window es la ventana principal. Yo me creaba mi diálogo muy feliz de esta manera:
class BlueDialog(QDialog): def __init__(self, parent = None): blue_dialog = QDialog(self, parent)
Iluso de mí, con esto los signals de mi diálogo, subventana de la ventana principal no funcionaban.
Leyendo un poco hoy he visto que hay una muy buena (y necesaria) práctica entre la gente que usa PyQt4, aunque se me hizo raro viniendo de C++ y Qt4, la solución a mi problema era sencilla, aunque para mí algo redundante. Sin embargo guarda equivalencia con el super de C++.
class BlueDialog(QDialog): def __init__(self, parent = None): QDialog.__init__(self, parent) blue_dialog = QDialog(self, parent)
Algo tonto y sencillo, a seguir mi camino. :-)
Faltan las indentaciones correspondientes en el código y ponerlo bonito, cosa que conseguiré con un buen módulo de Drupal, pero es que no podía esperar más para publicar. :-)












Comentarios recientes
22 weeks 1 day ago
25 weeks 1 day ago
28 weeks 4 days ago
28 weeks 5 days ago
40 weeks 4 days ago
41 weeks 4 days ago
45 weeks 6 days ago
45 weeks 6 days ago
45 weeks 6 days ago
46 weeks 2 days ago