monkeyqt¶
专为 PySide6 打造的企业级 UI 组件库
📖 什么是 monkeyqt?¶
monkeyqt 是一个为 PySide6 桌面应用开发者量身打造的现代化 UI 组件库。设计灵感来源于前端的 Element Plus 和 shadcn-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 绘制,不依赖任何第三方重量级渲染引擎
📦 快速安装¶
🚀 快速体验¶
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 开源。