python visual

Leonidas Szyszeja szyszeja en gmail.com
Vie Jun 20 07:10:40 CEST 2008


<>

    Te cuento que empece con python hace mas o menos un mes...

        Tenes que usar:

            connect(emisor, SIGNAL, SLOT)

        Te paso un ejemplo simple, un botón que cierra la ventana...



<python>

#! /usr/bin/env python
# -*- coding: utf-8 -*-

import sys, time
from PyQt4 import QtCore, QtGui

class UiDialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        
Dialog.resize(QtCore.QSize(QtCore.QRect(0,0,160,30).size()).expandedTo(Dialog.minimumSizeHint()))

        self.botonCerrar = QtGui.QPushButton(Dialog)
        self.botonCerrar.setGeometry(QtCore.QRect(0,0,160,30))
        self.botonCerrar.setObjectName("botonCerrar")

        self.retranslateUi(Dialog)

        """Conecto el evento "click"    --> SIGNAL("clicked()")
           con el método cerrar(slot)   --> self.cerrar
           del botón "botonCerrar"      --> self.botonCerrar
        """
        QtCore.QObject.connect(self.botonCerrar,
                               QtCore.SIGNAL("clicked()"),
                               self.cerrar)

    def retranslateUi(self, Dialog):
        self.botonCerrar.setText(QtGui.QApplication.translate("Dialog", 
"Cerrar", None, QtGui.QApplication.UnicodeUTF8))


    # .·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.· #

    def cerrar(self):
       """cuenta 3 y cierra..."""
        sys.exit(time.sleep(3))

    # .·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.· #



if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    Dialog = QtGui.QDialog()
    ui = UiDialog()
    ui.setupUi(Dialog)
    Dialog.show()
    sys.exit(app.exec_())

</python>

        Esto es algo básico.
        Podrías cambiar el contenido del método cerrar() por esto:


# .·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.· #

def cerrar(self):
    hora = time.asctime()

    # setText(txt) cambia el texto por txt
    self.botonCerrar.setText(hora)

# .·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.· #


    SUErte!!!

    PD: por si te interesa, hay una lista de qt en español

            qt-espanol en googlegroups.com

</>

KuArMaN KuArMaN escribió:
> A ver si me he enterado...
>
> Tengo que hacer el interfaz aparte del programa, con qt4 (que ya tengo
> instalado) y luego llamarla desde el código python con una función...
>
> Pero luego como hago por ejemplo para decir: cuando pulse botón aceptar, que
> haga tal cálculo y se muestre en este cuadro etc?
>
> Voy a buscar información, aunque creo que antes debería de dominar mejor
> python...
>
> Un saludo.
>
> El día 20 de junio de 2008 2:49, Leonidas Szyszeja <szyszeja en gmail.com>
> escribió:
>
>   
>> hola kuarman
>>
>>   Para desarrollar con qt4 podes instalar "qt-designer" para qt4.
>>   Tendrías que instalar el pakete "qt4-designer".
>>   Yo uso Kubuntu, el pakete esta en los repo oficiales
>>
>>      sudo apt-get install qt4-designer
>>
>>   "qt-designer" sirve para crear interfaces gráficas(GUI).
>>   Te genera un archivo XML que luego lo tendrías que
>>   exportar a python con la app "pyuic"
>>
>>   sudo apt-get install pyuic
>>
>>   Para exportar un archivo de "qt-designer" a python
>>   tendrías...
>>
>>   pyuic4 -x ARCHIVO_XML.xml -O ARCHIVO_EXPORTADO.py
>>
>>     ERIC:
>>   No es muy complicado, tenes que sentarte un rato.
>>   Podes buscar info en la pagina http://ericide.python-hosting.com
>>   También hay una lista de correo.
>>   Podes abrir qt-designer desde eric y también podes exportar los archivos
>>   a python
>>
>> Suerte y Fuerza!!!
>>
>>
>> _______________________________________________
>> Lista de correo Python-es http://listas.aditel.org/listinfo/python-es
>> FAQ: http://listas.aditel.org/faqpyes
>>
>>     
> _______________________________________________
> Lista de correo Python-es 
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>
>   

_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es