miércoles, 24 de junio de 2015

4 - Python PyQt (Interfaz gráfica) - Abrir cuadro de diálogo desde la ventana principal




En este capítulo del tutorial de Python 3 con PyQt5 veremos un ejemplo muy útil cuando se trata de abrir cuadros de diálogo desde la ventana principal, el ejemplo será bastante básico, crearemos un clase para crear un objeto QDialog (Cuadro de diálogo) y una clase para crear un objeto QMainWindow (Ventana principal). En la ventana principal agregaremos un botón (QPushButton) para que cuando el usuario haga click sobre él, se abra el cuadro de diálogo manteniendo la ventana principal como fondo.

abrirDialogo.pyw

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QDialog, QPushButton, QLabel

class Dialogo(QDialog):
 def __init__(self):
  QDialog.__init__(self)
  self.resize(300, 300)
  self.setWindowTitle("Cuadro de diálogo")
  self.etiqueta = QLabel(self)
  
class Ventana(QMainWindow):
 def __init__(self):
  QMainWindow.__init__(self)
  self.resize(600, 600)
  self.setWindowTitle("Ventana principal")
  self.boton = QPushButton(self)
  self.boton.setText("Abrir cuadro de diálogo")
  self.boton.resize(200, 30)
  self.dialogo = Dialogo()
  self.boton.clicked.connect(self.abrirDialogo)
  
 def abrirDialogo(self):
  self.dialogo.etiqueta.setText("Diálogo abierto desde la ventana principal")
  self.dialogo.exec_()
  
app = QApplication(sys.argv)
ventana = Ventana()
ventana.show()
app.exec_()