Skip to main content

An Enterprise-grade PySide6 UI Component Library

Project description

MonkeyQt

English | 简体中文

MonkeyQt is an enterprise-grade UI component library tailored for PySide6. Inspired by highly popular web frontend frameworks like Element Plus and shadcn-ui, it provides desktop application developers with highly aesthetic, consistent interactions, and out-of-the-box web-style components.

📖 Online Documentation | 🚀 Quick Start | 🎨 Theme Preview

✨ Features

  • Modern Style: Replicates popular web frontend components and design systems.
  • Rich Components: Supports buttons, checkboxes, dropdowns, tables, date pickers, topbars, pagination, progress bars, sliders, and other rich components.
  • Out-of-the-box: One-click import for extremely simple usage.
  • Seamless Integration: Built entirely with native PySide6 (QWidget, QSS, QPainter), with no dependencies on third-party heavy rendering engines.

📖 Documentation

You can access our complete usage guide, theme style preview, and all component manuals via the following link:

👉 Official MonkeyQt Documentation

The documentation includes:

  • Installation & Configuration Guide
  • Quick Start Examples
  • 67 Built-in Design Styles (Themes) with Smooth Sliding Switching & Customization APIs
  • Detailed Development Previews & Parameters for all basic/advanced components (including MkButton, MkDataTable, MkAuthScreen, MkUpload, MkImageCompare, etc.)

📦 Installation

Before official publication to PyPI, you can install this project locally as a developer package:

# 1. Enter MonkeyQt root directory
cd MonkeyQt

# 2. Install in editable mode with pip (-e flag stands for editable, changes in source code take effect immediately)
pip install -e .

🚀 Quick Start

Once the installation is complete, you can directly import monkeyqt in any Python script on your computer without manually adding paths to sys.path.

Create a new main.py to test:

import sys
from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout
# Simple import
from monkeyqt import MkButton, MkAlert

class MyApp(QWidget):
      def __init__(self):
          super().__init__()
          self.setWindowTitle("MonkeyQt Quick Start")
          self.resize(400, 300)
          
          layout = QVBoxLayout(self)
          
          # 1. Alert component
          alert = MkAlert(title="Welcome to MonkeyQt", mk_type="success", show_icon=True)
          layout.addWidget(alert)
          
          # 2. Button component
          btn = MkButton("Primary Button", type="primary")
          btn.clicked.connect(lambda: print("MonkeyQt is awesome!"))
          layout.addWidget(btn)
          
          layout.addStretch()

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MyApp()
    window.show()
    sys.exit(app.exec())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

monkeyqt-0.1.0.tar.gz (206.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

monkeyqt-0.1.0-py3-none-any.whl (252.5 kB view details)

Uploaded Python 3

File details

Details for the file monkeyqt-0.1.0.tar.gz.

File metadata

  • Download URL: monkeyqt-0.1.0.tar.gz
  • Upload date:
  • Size: 206.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for monkeyqt-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ee62ebf45457681dd1f71d91ee443e6a224a35d2ff93048390b2c6f4deed1f97
MD5 0f329c9006b1397050dbfb041aabefe8
BLAKE2b-256 2aff943c63b0ecf4247d3e33efadc5343932e7415c8afe6b0c01339faf8ada46

See more details on using hashes here.

File details

Details for the file monkeyqt-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: monkeyqt-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 252.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for monkeyqt-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 95e716687c69e46b3437bfaf44c92173fdef8b8271936b330c589081fc9d8872
MD5 eddb5cb936ac5c8f18d5314f07662032
BLAKE2b-256 67082f8a21172b76dbc6384e5fac1ecc193c7e617e13ec9c4c97612b1845b57f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page