Pycante 0.1a

Hace un tiempo vi u proyecto interesante que se llamaba mu-dev. Me intereso la funcionalidad asi que me contacte con el desar

rollador para colaborar pero el desarrollador me dijo “la colaboración con parches va a estar disponible en un futuro”. Asi que me dije a mi mismo “Puedo hacer algo similar (o mejor)” asi que bueno… asi nació pycante.

Pycante

La idea del proyecto es utilizar de manera comoda los archivos “.ui” de QtDesigner de la siguiente manera:

import pycante

from PyQt import QtGui

# using path
class Window0(pycante.E("path/to/file/window0.ui")):

    def on_buttonBox_accepted(self):
        # buttonBox exist inside "window.ui"
        print "you push accept"

# using file
class Window1(pycante.E(open("path/to/file/window0.ui"))):

    def on_buttonBox_accepted(self):
        # buttonBox exist inside "window.ui"
        print "you push accept"

# using widget
class Window2(pycante.E(QtGui.QDialog)):

    def setupUi(self, Dialog):
        self.buttonBox = QtGui.QDialogButtonBox(Dialog)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))

        self.retranslateUi(Dialog)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog", "Dialog", None,                QtGui.QApplication.UnicodeUTF8))

    def on_buttonBox_accepted(self):
        # buttonBox exist inside "window.ui"
        print "you push accept"

if __name__ == "__main__":
    w0 = Window0()
    w0.show()

    w1 = Window1()
    w1.show()

    w2 = Window2()
    w2.show()

    pycante.run()

Para instalar:

$ pip install pycante

o

$ easy_install pycante

o bajarlo de aca: https://bitbucket.org/leliel12/pycante/

Disclaimers:

  • Lo hice por una necesidad muy puntual
  • El codigo de “W3” no lo probe aunque puede usarse asi pycante
  • Como notaran en ni un momento llame a SetupUi()… eso pycante lo hace solo.

		
Anuncios

Acerca de JuanBC
About Me. * Ing. en Sistemas. * Entusiasta de los comics. * Linux user. * Java, Bash, Python, C. * RPG Fan. * Escritor.

2 Responses to Pycante 0.1a

  1. hugoruscitti says:

    está super interesante el proyecto, me recuerda
    un poco a kiwi (http://www.async.com.br/projects/kiwi/)
    lo que lo hace mas interesante aún.

    Un detalle, me parece que el comando easy_install que citás
    en el post está mal, porque termina descargando otro proyecto…

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: