Leviathan UI PyQt5 Framework Inspired by Windows 11 Core Skin

Published: (January 14, 2026 at 06:53 PM EST)
5 min read
Source: Dev.to

Source: Dev.to

👋 Hola, soy jesusquijada34

Quiero presentarte Leviathan UI, un paquete Python que desarrollé para facilitar la creación de interfaces gráficas con un enfoque visual moderno, modular y adaptable.

¿Qué ofrece Leviathan UI?

  • Estética inspirada en Windows 11 (modo claro y oscuro).
  • Componentes reutilizables (botones, tarjetas, barras de navegación, etc.).
  • Temas personalizables y soporte para modo oscuro automático.
  • Arquitectura modular que permite añadir o quitar módulos sin romper la aplicación.
  • Fácil de usar: ideal tanto para principiantes como para desarrolladores avanzados.

Modos disponibles

ModoDescripciónVista previa
LightTema claro con colores suaves y contrastes bajos.Light mode preview
DarkTema oscuro con tonos profundos, ideal para entornos con poca luz.Dark mode preview
AutoCambia automáticamente entre Light y Dark según la configuración del sistema.Auto mode preview

Cómo se ve al iniciar y cerrar una aplicación

Pantalla de inicio

+---------------------------------------------------+
|  ████   ████   ████   ████   ████   ████   ████   |
|  ████   ████   ████   ████   ████   ████   ████   |
|                                                   |
|  Bienvenido a Leviathan UI                        |
|  Cargando componentes...                         |
+---------------------------------------------------+

Pantalla de cierre

+---------------------------------------------------+
|  ████   ████   ████   ████   ████   ████   ████   |
|  ████   ████   ████   ████   ████   ████   ████   |
|                                                   |
|  Gracias por usar Leviathan UI!                   |
|  Guardando estado...                              |
+---------------------------------------------------+

Integración rápida (para principiantes)

  1. Instala el paquete

    pip install leviathan-ui
  2. Crea una ventana básica

    from leviathan_ui import LeviathanApp, MainWindow
    
    # Instancia la aplicación con el tema deseado
    app = LeviathanApp(theme="auto")   # "light", "dark" o "auto"
    
    # Crea la ventana principal
    window = MainWindow(title="Mi primera app con Leviathan UI")
    window.resize(800, 600)
    
    # Añade un widget simple (por ejemplo, un botón)
    from leviathan_ui.widgets import Button
    btn = Button(text="¡Haz clic aquí!")
    window.setCentralWidget(btn)
    
    # Ejecuta la aplicación
    app.exec_()
  3. Ejecuta el script

    python my_app.py

Más allá de lo básico

  • Navegación avanzada: Usa Sidebar, TopBar y Breadcrumbs para crear interfaces complejas.
  • Temas personalizados: Modifica el archivo theme.json o crea tu propio tema con la clase Theme.
  • Componentes dinámicos: Integra tablas, gráficos y formularios con soporte de validación incorporado.

📚 Recursos

📦 ¿Qué es Leviathan UI?

Leviathan UI es un paquete ligero para crear interfaces gráficas en Python, ideal para:

  • Aplicaciones educativas, técnicas o experimentales.
  • Proyectos que requieren una GUI rápida sin depender de frameworks pesados.
  • Interfaces visuales con efectos como transparencia, desenfoque y estilos tipo UWP.

En pocas palabras: te permite darle cara y estilo a tus programas en Python con muy poco código.

⚙️ Instalación

pip install leviathan-ui==1.0.0

Esto descargará la versión estable publicada en PyPI.

🚀 Primeros pasos

Ejemplo mínimo para iniciar una aplicación con Leviathan‑UI usando los componentes principales:

import sys
from PyQt5.QtWidgets import (
    QApplication,
    QPushButton,
    QVBoxLayout,
    QWidget,
    QLabel,
)
from PyQt5.QtCore import Qt
from lib.shared import (
    InmersiveSplash,
    InmojiTrx,
    WipeWindow,
    CustomTitleBar,
)


class MiAppPrincipal(QWidget):
    def __init__(self):
        super().__init__()
        self.setObjectName("MainWindow")
        self.resize(900, 550)

        # ── Configuración de la ventana ──
        (
            WipeWindow.create()
            .set_mode("polished")          # "polished", "ghost" o "ghostBlur"
            .set_background("auto")        # Sincroniza con la paleta de Windows o usa un HEX
            .set_radius(10)                # Radio recomendado para una ventana cuadrada
            .apply(self)                   # Aplica la configuración
        )

        # ── Layout principal ──
        layout = QVBoxLayout(self)
        layout.setContentsMargins(0, 0, 0, 0)
        layout.setSpacing(0)

        # ── Barra de título estilo Windows 11 ──
        self.title_bar = CustomTitleBar(self, title="LEVIATHAN ENGINE V2.0")
        layout.addWidget(self.title_bar)

        # ── Contenido central ──
        content = QWidget()
        content_lay = QVBoxLayout(content)
        content_lay.setAlignment(Qt.AlignCenter)

        label = QLabel("Test de Leviathan‑UI: Polished Mode")
        label.setStyleSheet(
            "color: white; font-size: 24px; font-weight: bold; font-family: 'Segoe UI';"
        )
        content_lay.addWidget(label, alignment=Qt.AlignCenter)

        self.btn = QPushButton("Cerrar app")
        self.btn.setFixedSize(280, 50)
        self.btn.setStyleSheet(
            """
            QPushButton {
                background-color: rgba(255,255,255,0.08);
                color: white;
                border: 1px solid rgba(255,255,255,0.3);
                border-radius: 12px;
                font-weight: bold;
                font-size: 14px;
            }
            QPushButton:hover {
                background-color: white;
                color: black;
            }
            """
        )
        content_lay.addWidget(self.btn, alignment=Qt.AlignCenter)
        layout.addWidget(content, 1)

        # Cerrar la aplicación al pulsar el botón
        self.btn.clicked.connect(self.close)


if __name__ == "__main__":
    app = QApplication(sys.argv)

    # ── Emoji premium (BETA) ──
    InmojiTrx("🐉").apply(app)

    # ── Instancia de la ventana principal ──
    mi_app = MiAppPrincipal()

    # ── Splash de inicio (modo adaptive) ──
    splash = (
        InmersiveSplash(title="Iniciando...", logo="🐉", color="auto")
        .set_mode("adaptive")               # Ajusta al DPI del monitor
        .set_phrases(["Iniciando UWP"])
        .on_finish(mi_app.show)              # Muestra la ventana al terminar
        .attach_to_window(
            mi_app,
            exit_phrases=["Saliendo de la UWP"],
        )
    )

    # Inicia el splash y la aplicación
    splash.start()
    sys.exit(app.exec_())

Resumen de los pasos

  1. Crear y configurar la ventana con WipeWindow.
  2. Añadir una barra de título personalizada mediante CustomTitleBar.
  3. Insertar el contenido (etiquetas, botones, etc.) dentro de un QVBoxLayout.
  4. Aplicar un emoji premium con InmojiTrx (opcional).
  5. Definir y lanzar el splash usando InmersiveSplash.

Con este esqueleto tienes una base funcional para seguir desarrollando tu interfaz con Leviathan‑UI.

🎨 Parámetros de mode

ValorDescripción
polishedEstilo clásico tipo UWP (Windows moderno).
ghostInterfaz transparente como vidrio.
ghostBlurVidrio líquido con desenfoque.

Nota: Si no se especifica ningún parámetro, la aplicación se abre en modo básico.

🔌 Splash Screen — Inicio y cierre de apps

Este splash aparece al abrir o cerrar una app construida con Leviathan UI. El dragón animado y el fondo oscuro transmiten una atmósfera técnica y mística.

Al iniciar y al cerrar la app puedes poner cualquier frase que gustes.

Splash UWP

✨ Polished Mode — Estilo UWP clásico

  • Estilo tipo Windows UWP.
  • Botones visibles, sin efectos visuales complejos.
  • Perfecto para entornos profesionales o educativos.

Polished Mode

👻 Ghosted Mode — Transparencia elegante

  • Fondo visible detrás de la interfaz.
  • Botones flotantes sobre paisajes o fondos personalizados.
  • Ideal para dashboards o apps creativas.

Ghosted Mode

💧 Ghosted Blur Mode — Vidrio líquido difuminado

  • Fondo borroso con efecto de profundidad.
  • Ideal para apps que quieren destacar visualmente.
  • Inspirado en interfaces tipo Fluent Design.

Ghosted Blur Mode

🌐 Enlaces oficiales

🎯 Conclusión

Leviathan UI es perfecto para principiantes que quieren experimentar con interfaces gráficas en Python sin complicarse demasiado. Con solo unas líneas de código puedes tener una ventana funcional y atractiva.

Recomendación: empieza con polished para familiarizarte, y luego prueba los modos transparentes y con desenfoque para darle estilo a tus apps.

Si te gusta el proyecto, considera apoyarlo en GitHub o Patreon. ¡Gracias por leer!

Back to Blog

Related posts

Read more »