跳转至

monkeyqt

专为 PySide6 打造的企业级 UI 组件库


📖 什么是 monkeyqt?

monkeyqt 是一个为 PySide6 桌面应用开发者量身打造的现代化 UI 组件库。设计灵感来源于前端的 Element Plusshadcn-ui,并结合ui-ux-pro-max-skill技能打造不同风格的主题样式,为桌面应用程序提供极高颜值、一致交互、并且开箱即用的 Web 风格组件。

核心理念

写桌面应用,也能拥有前端级别的开发体验和视觉质感。


🎨 67 种主题样式预览

MonkeyQt 支持极其丰富的主题风格,包括玻璃拟态、新拟物化、赛博朋克、科幻 HUD 等。点击下方图片或左右方向箭头可滑动切换:


🎯 核心特性

  • :material-palette-swatch:{ .lg .middle } 现代化风格


    复刻 Element Plus、shadcn-ui 等流行前端框架的视觉设计,让桌面应用焕然一新

  • :material-puzzle:{ .lg .middle } 组件丰富


    涵盖按钮、表单、数据展示、导航、反馈、布局等 25+ 个高质量组件

  • :material-rocket-launch:{ .lg .middle } 开箱即用


    一键 import 即可使用,无需复杂配置,极其简单

  • :material-cog:{ .lg .middle } 纯原生实现


    基于 PySide6 原生 QWidget + QSS + QPainter 绘制,不依赖任何第三方重量级渲染引擎


📦 快速安装

pip install monkeyqt

🚀 快速体验

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

class MyApp(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("monkeyqt 快速开始")
        self.resize(400, 300)

        layout = QVBoxLayout(self)

        alert = MkAlert(title="欢迎使用 monkeyqt", mk_type="success", show_icon=True)
        layout.addWidget(alert)

        btn = MkButton("主要按钮", 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())

🧩 组件总览

分类 组件
基础组件 MkButton 按钮 · MkCheckBox 复选框
表单组件 MkInput 输入框 · MkSwitch 开关 · MkSlider 滑块 · MkComboBox 下拉选择 · MkMultiComboBox 多选下拉 · MkDatePicker 日期选择器 · MkUpload 文件上传
数据展示 MkAvatar 头像 · MkTable 表格 · MkDataTable 数据表格 · MkImageCompare 图像对比 · MkImageSplit 图像分割
反馈组件 MkAlert 警告提示 · MkProgressBar 进度条 · MkProgressRing 进度环
导航组件 MkMenu 侧边栏 · MkTopbar 顶部导航 · MkBreadcrumb 面包屑 · MkTabs 标签页 · MkPagination 分页器 · MkDropdown 下拉菜单
布局组件 MkTitleBar 自定义标题栏 · MkWindow 无边框窗口

📄 开源协议

monkeyqt 基于 Apache License 2.0 开源。