Está en la página 1de 14

Ing.

Corrado Briante
Vamos a ver como podemos
ejecutar esta ventana con Python

Creamos una carpeta en la siguiente dirección:


C:\Users\corra\Desktop\Ej_PyQt\Curso\Ejemplo1\
Con el nombre:
MainWindow.ui
C:\Users\corra\Desktop\Ej_PyQt\Curso\Ejemplo1\MainWindow.ui

Ing. Corrado Briante


Abrimos cualquier programa editor en este caso
utilizare SUBLIME TEXT

Le damos el nombre de: MainWindow.pyw

Ejemplo 1
Este es el programa:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5 import uic

Ing. Corrado Briante


#Clase heredada de QMainWindow (Constructor de ventanas)
class Ventana(QMainWindow):
#Método constructor de la clase
def __init__(self): Cambiando el título de la ventana
#Iniciar el objeto QMainWindow
QMainWindow.__init__(self)
#Cargar la configuración del archivo .ui en el objeto
uic.loadUi("MainWindow.ui", self)
self.setWindowTitle("Cambiando el título de la ventana")

#Instancia para iniciar una aplicación


app = QApplication(sys.argv)
#Crear un objeto de la clase
_ventana = Ventana()
#Mostra la ventana
_ventana.show()
#Ejecutar la aplicación
app.exec_()

Ing. Corrado Briante


Ejemplo 2
En este capítulo modificaremos algunas propiedades del objeto MainWindow del archivo .ui, generado en el capítulo anterior y
también veremos como acceder a sus elementos internos a través de su nombre, por ejemplo a un elemento QPushButton para
modificar sus estilos CSS.

En la clase heredada de QMainWindow (Constructor de ventanas), vamos a empezar a agregar elementos:

Para cambiar el título de la ventana


self.setWindowTitle("Cambiando el título de la ventana")

Mostrar la ventana maximizada


self.showMaximized() El programa al ejecutarse
se muestra maximizado

Fijar el tamaño de la ventana


Fijar el tamaño mínimo
self.setMinimumSize(500, 500)
Fijar el tamaño máximo

self.setMaximumSize(500, 500)
Ing. Corrado Briante
Mover la ventana y centrarla en el escritorio
resolucion = ctypes.windll.user32
resolucion_ancho = resolucion.GetSystemMetrics(0)
Aparece en el centro
resolucion_alto = resolucion.GetSystemMetrics(1)
de la pantalla
left = (resolucion_ancho / 2) - (self.frameSize().width() / 2)
top = (resolucion_alto / 2) - (self.frameSize().height() / 2)
self.move(left, top)

Desactivar la ventana
self.setEnabled(False)

Ing. Corrado Briante


Asignar un tipo de fuente Por eso se importa la siguiente librería
qfont = QFont("Arial", 12, QFont.Bold)
self.setFont(qfont)
from PyQt5.QtGui import QFont

Asignar un tipo de cursor Al estar dentro del programa Cursor fuera del programa
self.setCursor(Qt.SizeAllCursor) cambia el cursor

Asignar estilos CSS


self.setStyleSheet("background-color: #000; color: #fff;")

Modificar estilos de uno de los elementos de la ventana


self.boton.setStyleSheet("background-color: #000; color: #fff; font-size: 14px;")

Instancia para iniciar una aplicación


app = QApplication(sys.argv)
Crear un objeto de la clase
_ventana = Ventana()
Mostra la ventana
_ventana.show()
Ejecutar la aplicación
app.exec_() Ing. Corrado Briante
Programa:

#En este capítulo modificaremos algunas propiedades del objeto MainWindow del archivo .ui
#generado en el capítulo anterior y también veremos como acceder a sus elementos internos
#a través de su nombre, por ejemplo a un elemento QPushButton para modificar sus estilos CSS.

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5 import uic
from PyQt5.QtGui import QFont
from PyQt5.QtCore import Qt
import ctypes #GetSystemMetrics

Ing. Corrado Briante


#Clase heredada de QMainWindow (Constructor de ventanas)
class Ventana(QMainWindow):
#Método constructor de la clase
def __init__(self):
#Iniciar el objeto QMainWindow
QMainWindow.__init__(self)
#Cargar la configuración del archivo .ui en el objeto
uic.loadUi("MainWindow.ui", self)
self.setWindowTitle("Cambiando el título de la ventana")
#Mostrar la ventana maximizada
self.showMaximized()
#Fijar el tamaño de la ventana
#Fijar el tamaño mínimo
self.setMinimumSize(500, 500)
#Fijar el tamaño máximo
self.setMaximumSize(500, 500)
#Mover la ventana y centrarla en el escritorio
resolucion = ctypes.windll.user32
resolucion_ancho = resolucion.GetSystemMetrics(0)
resolucion_alto = resolucion.GetSystemMetrics(1)
left = (resolucion_ancho / 2) - (self.frameSize().width() / 2)
top = (resolucion_alto / 2) - (self.frameSize().height() / 2)
self.move(left, top)
Ing. Corrado Briante
….
#Desactivar la ventana
#self.setEnabled(False)
#Asignar un tipo de fuente
qfont = QFont("Arial", 12, QFont.Bold)
self.setFont(qfont)
#Asignar un tipo de cursor
self.setCursor(Qt.SizeAllCursor)
#Asignar estilos CSS
#self.setStyleSheet("background-color: #000; color: #fff;")
#Modificar estilos de uno de los elementos de la ventana
self.boton.setStyleSheet("background-color: #000; color: #fff; font-size: 14px;")

#Instancia para iniciar una aplicación


app = QApplication(sys.argv)
#Crear un objeto de la clase
_ventana = Ventana()
#Mostra la ventana
_ventana.show()
#Ejecutar la aplicación
app.exec_()

Ing. Corrado Briante


Ing. Corrado Briante
Ing. Corrado Briante
Ing. Corrado Briante
Ing. Corrado Briante

También podría gustarte