elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [PyQT] Ayuda con primer script
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [PyQT] Ayuda con primer script  (Leído 2,922 veces)
[u]nsigned


Desconectado Desconectado

Mensajes: 2.397

JS/Node developer


Ver Perfil WWW
[PyQT] Ayuda con primer script
« en: 5 Junio 2012, 18:32 pm »

Hola, acabo de crear mi primera aplicacion diseñando el formulario con QT Designer. Ya converti el archivo .ui a .py, y luego cree el codigo de la aplicacion en un archivo .pyw.

Hola_Mundo.py (creado con pyuic4):
Código
  1. # -*- coding: utf-8 -*-
  2.  
  3. # Form implementation generated from reading ui file 'Hola_Mundo.ui'
  4. #
  5. # Created: Tue Jun 05 13:09:41 2012
  6. #      by: PyQt4 UI code generator 4.9.1
  7. #
  8. # WARNING! All changes made in this file will be lost!
  9.  
  10. from PyQt4 import QtCore, QtGui
  11.  
  12. try:
  13.    _fromUtf8 = QtCore.QString.fromUtf8
  14. except AttributeError:
  15.    _fromUtf8 = lambda s: s
  16.  
  17. class Ui_Formulario(object):
  18.    def setupUi(self, Formulario):
  19.        Formulario.setObjectName(_fromUtf8("Formulario"))
  20.        Formulario.resize(400, 164)
  21.        Formulario.setFrameShape(QtGui.QFrame.StyledPanel)
  22.        Formulario.setFrameShadow(QtGui.QFrame.Raised)
  23.        self.texto = QtGui.QLabel(Formulario)
  24.        self.texto.setGeometry(QtCore.QRect(10, 20, 101, 16))
  25.        self.texto.setFrameShape(QtGui.QFrame.NoFrame)
  26.        self.texto.setFrameShadow(QtGui.QFrame.Plain)
  27.        self.texto.setObjectName(_fromUtf8("texto"))
  28.        self.campoNombre = QtGui.QLineEdit(Formulario)
  29.        self.campoNombre.setGeometry(QtCore.QRect(110, 20, 281, 20))
  30.        self.campoNombre.setObjectName(_fromUtf8("campoNombre"))
  31.        self.botonHola = QtGui.QPushButton(Formulario)
  32.        self.botonHola.setGeometry(QtCore.QRect(10, 50, 75, 23))
  33.        self.botonHola.setObjectName(_fromUtf8("botonHola"))
  34.        self.campoSaludo = QtGui.QLineEdit(Formulario)
  35.        self.campoSaludo.setEnabled(False)
  36.        self.campoSaludo.setGeometry(QtCore.QRect(90, 50, 301, 20))
  37.        self.campoSaludo.setObjectName(_fromUtf8("campoSaludo"))
  38.  
  39.        self.retranslateUi(Formulario)
  40.        QtCore.QObject.connect(self.botonHola, QtCore.SIGNAL(_fromUtf8("clicked()")), Formulario.saluda)
  41.        QtCore.QMetaObject.connectSlotsByName(Formulario)
  42.  
  43.    def retranslateUi(self, Formulario):
  44.        Formulario.setWindowTitle(QtGui.QApplication.translate("Formulario", "MI Primer programa con PyQT", None, QtGui.QApplication.UnicodeUTF8))
  45.        self.texto.setText(QtGui.QApplication.translate("Formulario", "Ingrese su nombre:", None, QtGui.QApplication.UnicodeUTF8))
  46.        self.botonHola.setText(QtGui.QApplication.translate("Formulario", "Hola", None, QtGui.QApplication.UnicodeUTF8))
  47.  

Y finalmente el codigo de mi aplicacion app1.pyw es el siguiente:

Código
  1. # -*- coding: utf-8 -*-
  2.  
  3. from PyQt4 import QtCore, QtGui
  4. import sys
  5.  
  6. from Hola_Mundo import Ui_Formulario
  7.  
  8. class MyForm(QtGui.QMainWindow):
  9. def __init__(self, parent=None):
  10. QtGui.QWidget.__init__(self, parent)
  11. self.ui = Ui_Formulario
  12. self.ui.setupUi(self)
  13.  
  14. if __name__ == "__main__":
  15. app = QtGui.QApplication(sys.argv)
  16. myapp = MyForm()
  17. myapp.show()
  18. sys.exit(app.exec_())
  19.  

Pero al ejecutar me sale el siguiente error:

Código:
Traceback (most recent call last):
  File "C:\py\pyqt\app1.pyw", line 16, in <module>
    myapp = MyForm()
  File "C:\py\pyqt\app1.pyw", line 12, in __init__
    self.ui.setupUi(self.ui)
TypeError: unbound method setupUi() must be called with Ui_Formulario instance as first argument (got type instance instead)

Podrian decirme que estoy haciend mal por favor?  ;D

Saludos


En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
overxfl0w13

Desconectado Desconectado

Mensajes: 163



Ver Perfil WWW
Re: [PyQT] Ayuda con primer script
« Respuesta #1 en: 5 Junio 2012, 21:28 pm »

Una lástima que no te pueda ayudar tio, sé que Pyqt4 queda de lujo a nivel visual, pero sigo prefiriendo Tkinter a la hora de hacer scripts con gui rápidos.

Tenía un ppt con bastante ayuda para lo que necesitas, si me dejas algo de tiempo te lo dejo por aquí en cuanto pueda.

Un saludo :)


En línea

[/url]
sebalo12

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: [PyQT] Ayuda con primer script
« Respuesta #2 en: 26 Julio 2012, 01:51 am »

Lo que yo te recomendaria hacer es ejecutar tu fomulario desde un dialogo externo.. asi te queda perfectamente separado lo que es la logica del programa de la interfaz grafica...

Ej:

Crea un form con PyQT, lo compilas con pyuic4 y luego crea un dialogo que se llame

ejecutaFORM1

class ejecutaFORM1(QtGui.QDialog):
   
    def __init__(self):
        QtGui.QDialog.__init__(self)
        FormPrincipal2 = QtGui.QMainWindow()
        self.ui = formulario.Ui_Formulario()
        self.ui.setupUi(FormPrincipal2)
        FormPrincipal2.show()
        sys.exit(app.exec_())

Proba con eso y si no te funciona contame que te dice y veo si puedo ayudarte... :)

Saludos!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[VB6] Una ayuda con mi primer programa... plz :) « 1 2 »
Programación Visual Basic
SuperDraco 15 7,244 Último mensaje 16 Julio 2011, 13:04 pm
por SuperDraco
Mi primer Script
Ingeniería Inversa
Potato 9 3,169 Último mensaje 1 Junio 2012, 16:09 pm
por apuromafo CLS
(Ayuda) El primer código C++
Programación C/C++
xXxBazzxXx 4 2,785 Último mensaje 2 Junio 2013, 20:05 pm
por xXxBazzxXx
¿Cómo usar una interfaz creada en C++ con PyQt?
Programación C/C++
curiosport 0 1,241 Último mensaje 10 Abril 2016, 21:18 pm
por curiosport
Python3 Pyqt OpenCV en MAC
Scripting
PUAROT 2 2,441 Último mensaje 24 Abril 2017, 22:36 pm
por PUAROT
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines