ddq-ui


Nameddq-ui JSON
Version 0.1.5 PyPI version JSON
download
home_pagehttps://github.com/ddq/ddq_ui
SummaryDDQ UI Framework - 一个灵活的 UI 框架,支持多种后端实现
upload_time2025-02-11 17:45:33
maintainerNone
docs_urlNone
authorDDQ
requires_python>=3.6
licenseNone
keywords ui tkinter framework widgets
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # DDQ UI Framework

一个灵活的 UI 框架,支持多种后端实现。目前提供了基于 Tkinter 的实现。

## 特性

- 提供了一套统一的 UI 组件接口
- 支持多种后端实现(目前支持 Tkinter)
- 包含丰富的基础组件:按钮、文本框、下拉框等
- 提供配置管理功能,支持配置的保存和加载
- 支持组件的联动和状态管理

## 安装

```bash
pip install ddq_ui
```

## 快速开始

```python
import tkinter as tk
from ddq_ui.ddq_tkinter.ddq_widgets import Form, ButtonGroup

# 创建窗口
root = tk.Tk()
root.title("DDQ UI Demo")

# 创建表单
form = Form(root)
form.input("name", "姓名:", required=True)
form.select("gender", "性别:", options=["男", "女"])
form.pack()

# 创建按钮组
buttons = ButtonGroup(root)
buttons.add_new("提交", lambda: print(form.get_values()))
buttons.pack()

root.mainloop()
```

## 组件

### Form(表单)
- 支持多种输入控件:文本框、下拉框、单选框等
- 支持表单验证
- 支持表单联动

### ButtonGroup(按钮组)
- 统一的按钮样式
- 支持按钮的启用/禁用状态
- 支持按钮的布局配置

### ConfigurableTool(可配置工具)
- 支持配置的保存和加载
- 提供配置管理面板
- 支持配置的导入导出

## 示例

查看 `examples` 目录获取更多示例:
- `demo_form.py`: 表单组件示例
- `demo_button_group.py`: 按钮组示例
- `demo_config_manager.py`: 配置管理示例

## 许可证

MIT License 

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ddq/ddq_ui",
    "name": "ddq-ui",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "ui, tkinter, framework, widgets",
    "author": "DDQ",
    "author_email": "ddq@example.com",
    "download_url": "https://files.pythonhosted.org/packages/5b/02/08593a843ccac079ad9a7179d929eb053fee5c309489efe2eda86a02be18/ddq_ui-0.1.5.tar.gz",
    "platform": null,
    "description": "# DDQ UI Framework\r\n\r\n\u4e00\u4e2a\u7075\u6d3b\u7684 UI \u6846\u67b6\uff0c\u652f\u6301\u591a\u79cd\u540e\u7aef\u5b9e\u73b0\u3002\u76ee\u524d\u63d0\u4f9b\u4e86\u57fa\u4e8e Tkinter \u7684\u5b9e\u73b0\u3002\r\n\r\n## \u7279\u6027\r\n\r\n- \u63d0\u4f9b\u4e86\u4e00\u5957\u7edf\u4e00\u7684 UI \u7ec4\u4ef6\u63a5\u53e3\r\n- \u652f\u6301\u591a\u79cd\u540e\u7aef\u5b9e\u73b0\uff08\u76ee\u524d\u652f\u6301 Tkinter\uff09\r\n- \u5305\u542b\u4e30\u5bcc\u7684\u57fa\u7840\u7ec4\u4ef6\uff1a\u6309\u94ae\u3001\u6587\u672c\u6846\u3001\u4e0b\u62c9\u6846\u7b49\r\n- \u63d0\u4f9b\u914d\u7f6e\u7ba1\u7406\u529f\u80fd\uff0c\u652f\u6301\u914d\u7f6e\u7684\u4fdd\u5b58\u548c\u52a0\u8f7d\r\n- \u652f\u6301\u7ec4\u4ef6\u7684\u8054\u52a8\u548c\u72b6\u6001\u7ba1\u7406\r\n\r\n## \u5b89\u88c5\r\n\r\n```bash\r\npip install ddq_ui\r\n```\r\n\r\n## \u5feb\u901f\u5f00\u59cb\r\n\r\n```python\r\nimport tkinter as tk\r\nfrom ddq_ui.ddq_tkinter.ddq_widgets import Form, ButtonGroup\r\n\r\n# \u521b\u5efa\u7a97\u53e3\r\nroot = tk.Tk()\r\nroot.title(\"DDQ UI Demo\")\r\n\r\n# \u521b\u5efa\u8868\u5355\r\nform = Form(root)\r\nform.input(\"name\", \"\u59d3\u540d:\", required=True)\r\nform.select(\"gender\", \"\u6027\u522b:\", options=[\"\u7537\", \"\u5973\"])\r\nform.pack()\r\n\r\n# \u521b\u5efa\u6309\u94ae\u7ec4\r\nbuttons = ButtonGroup(root)\r\nbuttons.add_new(\"\u63d0\u4ea4\", lambda: print(form.get_values()))\r\nbuttons.pack()\r\n\r\nroot.mainloop()\r\n```\r\n\r\n## \u7ec4\u4ef6\r\n\r\n### Form\uff08\u8868\u5355\uff09\r\n- \u652f\u6301\u591a\u79cd\u8f93\u5165\u63a7\u4ef6\uff1a\u6587\u672c\u6846\u3001\u4e0b\u62c9\u6846\u3001\u5355\u9009\u6846\u7b49\r\n- \u652f\u6301\u8868\u5355\u9a8c\u8bc1\r\n- \u652f\u6301\u8868\u5355\u8054\u52a8\r\n\r\n### ButtonGroup\uff08\u6309\u94ae\u7ec4\uff09\r\n- \u7edf\u4e00\u7684\u6309\u94ae\u6837\u5f0f\r\n- \u652f\u6301\u6309\u94ae\u7684\u542f\u7528/\u7981\u7528\u72b6\u6001\r\n- \u652f\u6301\u6309\u94ae\u7684\u5e03\u5c40\u914d\u7f6e\r\n\r\n### ConfigurableTool\uff08\u53ef\u914d\u7f6e\u5de5\u5177\uff09\r\n- \u652f\u6301\u914d\u7f6e\u7684\u4fdd\u5b58\u548c\u52a0\u8f7d\r\n- \u63d0\u4f9b\u914d\u7f6e\u7ba1\u7406\u9762\u677f\r\n- \u652f\u6301\u914d\u7f6e\u7684\u5bfc\u5165\u5bfc\u51fa\r\n\r\n## \u793a\u4f8b\r\n\r\n\u67e5\u770b `examples` \u76ee\u5f55\u83b7\u53d6\u66f4\u591a\u793a\u4f8b\uff1a\r\n- `demo_form.py`: \u8868\u5355\u7ec4\u4ef6\u793a\u4f8b\r\n- `demo_button_group.py`: \u6309\u94ae\u7ec4\u793a\u4f8b\r\n- `demo_config_manager.py`: \u914d\u7f6e\u7ba1\u7406\u793a\u4f8b\r\n\r\n## \u8bb8\u53ef\u8bc1\r\n\r\nMIT License \r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "DDQ UI Framework - \u4e00\u4e2a\u7075\u6d3b\u7684 UI \u6846\u67b6\uff0c\u652f\u6301\u591a\u79cd\u540e\u7aef\u5b9e\u73b0",
    "version": "0.1.5",
    "project_urls": {
        "Documentation": "https://github.com/ddq/ddq_ui#readme",
        "Homepage": "https://github.com/ddq/ddq_ui",
        "Source": "https://github.com/ddq/ddq_ui",
        "Tracker": "https://github.com/ddq/ddq_ui/issues"
    },
    "split_keywords": [
        "ui",
        " tkinter",
        " framework",
        " widgets"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2c4315570b48659e4013d977dc0ed76d1c91d60ac531f33c07263fd829f6d186",
                "md5": "e9857e01993dd342e4d531f35458a9a4",
                "sha256": "274149d4094346405d9808b8ff0614e68251af345c03704148fcc3e06403fc7f"
            },
            "downloads": -1,
            "filename": "ddq_ui-0.1.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e9857e01993dd342e4d531f35458a9a4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 74572,
            "upload_time": "2025-02-11T17:45:30",
            "upload_time_iso_8601": "2025-02-11T17:45:30.340167Z",
            "url": "https://files.pythonhosted.org/packages/2c/43/15570b48659e4013d977dc0ed76d1c91d60ac531f33c07263fd829f6d186/ddq_ui-0.1.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5b0208593a843ccac079ad9a7179d929eb053fee5c309489efe2eda86a02be18",
                "md5": "c8d3627f56c07a73b16090be747cb24e",
                "sha256": "05c6e102bac505b94e8cdd84a168c1fff1f6ebc2c6199fb766357acfb60e41ac"
            },
            "downloads": -1,
            "filename": "ddq_ui-0.1.5.tar.gz",
            "has_sig": false,
            "md5_digest": "c8d3627f56c07a73b16090be747cb24e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 47255,
            "upload_time": "2025-02-11T17:45:33",
            "upload_time_iso_8601": "2025-02-11T17:45:33.318208Z",
            "url": "https://files.pythonhosted.org/packages/5b/02/08593a843ccac079ad9a7179d929eb053fee5c309489efe2eda86a02be18/ddq_ui-0.1.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-11 17:45:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ddq",
    "github_project": "ddq_ui",
    "github_not_found": true,
    "lcname": "ddq-ui"
}
        
DDQ
Elapsed time: 0.44680s