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.
MainWindow.pyw
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 #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) #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_()
2 comentarios:
En Notepad ++, pestaña ejecutar, Programa a ejecutar
PYTHON $(FULL_CURRENT_PATH)
este comando ejecuta directamente en la consola el fichero actual.
Estoy siguiendo este curso bajo linux, pero el ctypes windll no lo puedo implementar, cual seria su equivalente en linux?
Publicar un comentario