[pyar] PyQt cargar interfaces de forma dinámica
Federico Apelhanz
elmaildejapel en gmail.com
Mar Jun 5 11:49:58 ART 2012
Claro, asi como lo decis lo hice andar, el problema (o lo que quiero hacer)
es ir cargando distintas vistas(Ui_forms) en tiempo de ejecución, no se si
entiende, o sea por ej, en la barra de menu, tengo 50 opciones, y por cada
una tengo una vista distinta, lo que quiero, es que cuando me clicken una
opción, me cargue la vista correspondiente
def main():
>> app = QtGui.QApplication(sys.argv) #creamos la app, siempre se hace
>> así.
>> global ui
>> ui = MainWindow() #creamos la MainWindow, pero todavía no la mostramos
>> ui.ventana.setMenusBar(ui)
>> ui.show()
>> ui.hide()
>> from ui_ComprobanteDeCompra import Ui_Form
>> comprobanteForm = Ui_Form()
>> comprobanteForm.setupUi(ui)
>> ui.show()
>> sys.exit(app.exec_())
>>
>>
>> pareciera que qt no refresca la vista, ¿hay alguna manera de forzarlo a
>> hacerlo que no sea TAN crota?
>>
>
> En general es muy sencillo. Si tenes el Ui_Form (que no lo importás
> adentro de main, eso es una chanchada), create una clase que herede de
> QMainWindow (supongo que tu MainWindow es eso), y después, en el __init__
> de esa clase (no en el main!):
>
> class MainWindow(QtGui.QMainWindow):
> def __init__(self):
> QtGui.QMainWindow.__init__(self)
>
> self.ui=Ui_Form()
> self.ui.setupUi(self)
>
> Nota: si tenés un Ui_Form quiere decir que en designer creaste algo que no
> es un QMainWindow, y eso no va a andar bien jamás.
>
> Despues en main es esto nomás:
>
>
> def main():
> app = QtGui.QApplication(sys.argv)
> window=MainWindow()
> window.show()
> sys.exit(app.exec_())
>
> Si querés pasarle argumentos cuando creás tu MainWindow, los pasás, no hay
> ningún problema.
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> 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/20120605/1f710864/attachment.html>
More information about the pyar
mailing list