Siguiendo con el tutorial, pasaré a explicar como implementar un QLineEdit() y un QPushButton(), para que tengan una idea de que les hablo :
Código:
<input value="Esto es un QLineEdit()">
<input value="Esto es un QPushButton()" type="submit">
Ello mismo, pero en PyQT4. Bien, para poder insertar nuestro QLineEdit, debemos añadir bajo la línea del self.resize(200,200):
Código
Quedando así en nuestro form:
self.mi_qlinedit = QtGui.QLineEdit(self)
Código
# -*- coding: utf-8 -*- from PyQt4 import QtCore, QtGui import sys class Mi_Programa(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.resize(200,200) #Dimensiones del formulario self.mi_qlinedit = QtGui.QLineEdit(self) # añadimos el QLineEdit aplicacion = QtGui.QApplication(sys.argv) formulario = Mi_Programa() # Instanciamos la clase de nuestro programa formulario.show() # Mostramos el Formulario aplicacion.exec_() # Ejecutamos
Y Pues para añadir un botón:
Código
Nuestro formulario quedaría así:
self.mi_boton = QtGui.QPushButton("Hola, soy un boton!", self)
Código
# -*- coding: utf-8 -*- from PyQt4 import QtCore, QtGui import sys class Mi_Programa(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.resize(200,200) #Dimensiones del formulario self.mi_boton = QtGui.QPushButton("Hola, soy un boton!", self) aplicacion = QtGui.QApplication(sys.argv) formulario = Mi_Programa() # Instanciamos la clase de nuestro programa formulario.show() # Mostramos el Formulario aplicacion.exec_() # Ejecutamos
Nota: Podemos utilizar cualquier variable, siempre anteponiendo el self., solo que yo usé mi_boton para darle un nombre descriptivo.
Bien, ya sabemos como insertar nuestros primeros Widgets en PyQT4, pero verás que al mezclar ambos, solo muestra un widget, esto sucede porque no le hemos dado una ubicación, por lo que ambos se posición en las coordenadas X = 0; Y = 0 , así uno se sobre pone del otro.
Entonces, ¿ Cómo ubico mi widget donde yo quiera ?
Sencillo ! , debemos utilizar la propiedad setGeometry(X,Y,Width, Height) , Donde X será la ubicación hacia los costados e Y arriba y abajo. Aquí es donde yo recomiendo usar el QT Designer, pues nos ayudará a ubicar nuestro Widget de manera correcta y no dirá en que ubicación se encuentra.
Recomiendo utilizar en el botón, el height 27, que es la altura de un botón normal. El width dependerá del ancho del texto de nuestro botón. (width = ancho ; height = altura)
En lo que respecta el QLineEdit, recomiendo usar también el height = 27
Así quedando la mezcla:
Código
Un ScreenShot:
# -*- coding: utf-8 -*- from PyQt4 import QtCore, QtGui import sys class Mi_Programa(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.resize(200,200) #Dimensiones del formulario self.mi_boton = QtGui.QPushButton("Boton", self) # Creo el QPushButton() self.mi_boton.setGeometry(10,40,92,27) #X = 10 ; Y = 15 ; Width = 92 ; Height = 27 self.mi_qlinedit = QtGui.QLineEdit(self) # Creo el QLineEdit() self.mi_qlinedit.setGeometry(10,10,92,27) # X = 10 ; Y = 10 ; Width = 92 ; Height = 27 aplicacion = QtGui.QApplication(sys.argv) formulario = Mi_Programa() # Instanciamos la clase de nuestro programa formulario.show() # Mostramos el Formulario aplicacion.exec_() # Ejecutamos
En la siguiente parte, explicaré como darle función a un botón e implementar un QLabel() con un resultado posterior !
Fuente : http://rootcodes.com/tutorialaprende-pyqt4-con-rootcodes-parte2
Saludos, Javier !