custom-ui-pyqt6


Namecustom-ui-pyqt6 JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/yourusername/custom-ui-pyqt6
SummaryModern PyQt6 UI components with glassmorphism effects and smooth animations
upload_time2025-11-04 06:02:08
maintainerNone
docs_urlNone
authorCrypterENC
requires_python>=3.8
licenseNone
keywords pyqt6 ui components glassmorphism modern design
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Custom UI Components for PyQt6

[![PyPI version](https://badge.fury.io/py/custom-ui-pyqt6.svg)](https://badge.fury.io/py/custom-ui-pyqt6)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Modern, reusable PyQt6 UI components with glassmorphism effects and smooth animations. Perfect for building beautiful, modern desktop applications.

## Features

✨ **Modern Design**
- Gradient backgrounds
- Semi-transparent glassmorphism effects
- Smooth hover transitions
- Professional typography

🎯 **User-Friendly**
- Draggable windows
- Clear visual hierarchy
- Intuitive interactions
- Responsive feedback

🔄 **Reusable**
- Easy to integrate into any PyQt6 project
- Customizable colors and styles
- Modular components
- Well-documented

🎨 **Themeable**
- 5 predefined color themes
- Runtime theme switching
- Custom color support
- Flexible styling system

## Installation

Install from PyPI:

```bash
pip install custom-ui-pyqt6
```

Or install from source:

```bash
git clone https://github.com/yourusername/custom-ui-pyqt6.git
cd custom-ui-pyqt6
pip install -e .
```

## Quick Start

### Basic Window Setup

```python
import sys
from PyQt6.QtWidgets import QApplication, QPushButton, QLabel
from PyQt6.QtGui import QFont
from custom_ui_package import CustomMainWindow

class MyApp(CustomMainWindow):
    def __init__(self):
        super().__init__(
            title='My Application',
            width=600,
            height=750,
            theme='dark_blue'
        )
        
        # Add content
        title = QLabel('Welcome!')
        title.setFont(QFont('Segoe UI', 20, QFont.Weight.Bold))
        self.add_content(title)
        
        btn = QPushButton('Click Me')
        self.add_content(btn)
        
        self.add_stretch()

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

## Components

### CustomMainWindow

A frameless main window with custom title bar and customizable styling.

```python
from custom_ui_package import CustomMainWindow

window = CustomMainWindow(
    title='My App',
    width=600,
    height=750,
    theme='dark_purple'
)

# Change theme at runtime
window.set_theme('dark_green')
```

### CustomDropdown

A modern dropdown widget with glassmorphism effects.

```python
from custom_ui_package import CustomDropdown

dropdown = CustomDropdown()
dropdown.add_items_with_icons({
    'Option 1': 'value1',
    'Option 2': 'value2',
    'Option 3': 'value3'
})

selected_text = dropdown.get_selected_text()
```

### CustomMessageDialog

A modern message dialog with draggable interface.

```python
from custom_ui_package import CustomMessageDialog

dialog = CustomMessageDialog(
    'Information',
    'This is an info message',
    'info',
    parent_widget
)
dialog.exec()
```

### CustomTitleBar

A custom title bar for frameless windows.

```python
from custom_ui_package import CustomTitleBar

title_bar = CustomTitleBar(
    parent=window,
    title="My Application",
    icon_path=None,
    show_minimize=True,
    show_close=True
)
```

## Themes

Available predefined themes:

- **dark_blue** (default) - Modern blue gradient with indigo buttons
- **dark_purple** - Purple gradient with vibrant purple buttons
- **dark_green** - Green gradient with emerald buttons
- **dark_orange** - Orange gradient with warm orange buttons
- **dark_red** - Red gradient with crimson buttons

```python
# Use a theme
window = CustomMainWindow(theme='dark_purple')

# Change theme at runtime
window.set_theme('dark_green')

# Custom colors
window.set_custom_colors({
    'button_start': '#ff6b6b',
    'button_end': '#ee5a6f'
})
```

## Color Palette

| Color | Hex | Usage |
|-------|-----|-------|
| Primary | #6366f1 | Indigo - Main buttons |
| Secondary | #4f46e5 | Purple - Button end gradient |
| Accent | #a5f3fc | Cyan - Secondary text |
| Background | #0a0e27 | Dark Blue - Window background |
| Text Primary | #e8f0ff | Light Blue - Main text |
| Text Secondary | #a5f3fc | Cyan - Secondary text |
| Warning | #eab308 | Yellow - Warning elements |
| Error | #ef4444 | Red - Error elements |
| Success | #10b981 | Green - Success elements |

## Customization

All components support extensive customization:

- **CustomMainWindow**: Use `set_theme()` and `set_custom_colors()` to customize
- **CustomDropdown**: Use `set_custom_colors()` for color customization
- **CustomMessageDialog**: Pass different `icon_type` values: "info", "warning", "error"
- **CustomTitleBar**: Customize title, icon, and button visibility

## Components Overview

| Component | Purpose | Features |
|-----------|---------|----------|
| `CustomMainWindow` | Main application window | Frameless, custom title bar, themeable, draggable |
| `CustomDropdown` | Standard dropdown | Glassmorphism, smooth animations, custom colors |
| `CustomDropdownCompact` | Compact dropdown | Smaller height variant |
| `CustomDropdownLarge` | Large dropdown | Larger height variant |
| `CustomMessageDialog` | Message dialog | Frameless, draggable, icon support |
| `CustomTitleBar` | Window title bar | Minimize/close buttons, draggable, icon support |

## Requirements

- Python 3.8+
- PyQt6 >= 6.0.0

## Documentation

For detailed documentation, see:

- **DOCUMENTATION.md** - Complete user guide with examples
- **SETUP_AND_PUBLISHING.md** - Setup and PyPI publishing guide
- **CHANGELOG.md** - Version history

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Support

If you encounter any issues or have questions, please open an issue on the [GitHub repository](https://github.com/yourusername/custom-ui-pyqt6/issues).

---

**Happy building! 🚀**

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/yourusername/custom-ui-pyqt6",
    "name": "custom-ui-pyqt6",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "pyqt6, ui, components, glassmorphism, modern, design",
    "author": "CrypterENC",
    "author_email": "CrypterENC <a95899003@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/25/af/ac328960e6c556c2ad3209b2a25766dab83fa1fd35877a8d616bd90fb5dd/custom_ui_pyqt6-1.0.0.tar.gz",
    "platform": null,
    "description": "# Custom UI Components for PyQt6\r\n\r\n[![PyPI version](https://badge.fury.io/py/custom-ui-pyqt6.svg)](https://badge.fury.io/py/custom-ui-pyqt6)\r\n[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n\r\nModern, reusable PyQt6 UI components with glassmorphism effects and smooth animations. Perfect for building beautiful, modern desktop applications.\r\n\r\n## Features\r\n\r\n\u2728 **Modern Design**\r\n- Gradient backgrounds\r\n- Semi-transparent glassmorphism effects\r\n- Smooth hover transitions\r\n- Professional typography\r\n\r\n\ud83c\udfaf **User-Friendly**\r\n- Draggable windows\r\n- Clear visual hierarchy\r\n- Intuitive interactions\r\n- Responsive feedback\r\n\r\n\ud83d\udd04 **Reusable**\r\n- Easy to integrate into any PyQt6 project\r\n- Customizable colors and styles\r\n- Modular components\r\n- Well-documented\r\n\r\n\ud83c\udfa8 **Themeable**\r\n- 5 predefined color themes\r\n- Runtime theme switching\r\n- Custom color support\r\n- Flexible styling system\r\n\r\n## Installation\r\n\r\nInstall from PyPI:\r\n\r\n```bash\r\npip install custom-ui-pyqt6\r\n```\r\n\r\nOr install from source:\r\n\r\n```bash\r\ngit clone https://github.com/yourusername/custom-ui-pyqt6.git\r\ncd custom-ui-pyqt6\r\npip install -e .\r\n```\r\n\r\n## Quick Start\r\n\r\n### Basic Window Setup\r\n\r\n```python\r\nimport sys\r\nfrom PyQt6.QtWidgets import QApplication, QPushButton, QLabel\r\nfrom PyQt6.QtGui import QFont\r\nfrom custom_ui_package import CustomMainWindow\r\n\r\nclass MyApp(CustomMainWindow):\r\n    def __init__(self):\r\n        super().__init__(\r\n            title='My Application',\r\n            width=600,\r\n            height=750,\r\n            theme='dark_blue'\r\n        )\r\n        \r\n        # Add content\r\n        title = QLabel('Welcome!')\r\n        title.setFont(QFont('Segoe UI', 20, QFont.Weight.Bold))\r\n        self.add_content(title)\r\n        \r\n        btn = QPushButton('Click Me')\r\n        self.add_content(btn)\r\n        \r\n        self.add_stretch()\r\n\r\nif __name__ == '__main__':\r\n    app = QApplication(sys.argv)\r\n    window = MyApp()\r\n    window.show()\r\n    sys.exit(app.exec())\r\n```\r\n\r\n## Components\r\n\r\n### CustomMainWindow\r\n\r\nA frameless main window with custom title bar and customizable styling.\r\n\r\n```python\r\nfrom custom_ui_package import CustomMainWindow\r\n\r\nwindow = CustomMainWindow(\r\n    title='My App',\r\n    width=600,\r\n    height=750,\r\n    theme='dark_purple'\r\n)\r\n\r\n# Change theme at runtime\r\nwindow.set_theme('dark_green')\r\n```\r\n\r\n### CustomDropdown\r\n\r\nA modern dropdown widget with glassmorphism effects.\r\n\r\n```python\r\nfrom custom_ui_package import CustomDropdown\r\n\r\ndropdown = CustomDropdown()\r\ndropdown.add_items_with_icons({\r\n    'Option 1': 'value1',\r\n    'Option 2': 'value2',\r\n    'Option 3': 'value3'\r\n})\r\n\r\nselected_text = dropdown.get_selected_text()\r\n```\r\n\r\n### CustomMessageDialog\r\n\r\nA modern message dialog with draggable interface.\r\n\r\n```python\r\nfrom custom_ui_package import CustomMessageDialog\r\n\r\ndialog = CustomMessageDialog(\r\n    'Information',\r\n    'This is an info message',\r\n    'info',\r\n    parent_widget\r\n)\r\ndialog.exec()\r\n```\r\n\r\n### CustomTitleBar\r\n\r\nA custom title bar for frameless windows.\r\n\r\n```python\r\nfrom custom_ui_package import CustomTitleBar\r\n\r\ntitle_bar = CustomTitleBar(\r\n    parent=window,\r\n    title=\"My Application\",\r\n    icon_path=None,\r\n    show_minimize=True,\r\n    show_close=True\r\n)\r\n```\r\n\r\n## Themes\r\n\r\nAvailable predefined themes:\r\n\r\n- **dark_blue** (default) - Modern blue gradient with indigo buttons\r\n- **dark_purple** - Purple gradient with vibrant purple buttons\r\n- **dark_green** - Green gradient with emerald buttons\r\n- **dark_orange** - Orange gradient with warm orange buttons\r\n- **dark_red** - Red gradient with crimson buttons\r\n\r\n```python\r\n# Use a theme\r\nwindow = CustomMainWindow(theme='dark_purple')\r\n\r\n# Change theme at runtime\r\nwindow.set_theme('dark_green')\r\n\r\n# Custom colors\r\nwindow.set_custom_colors({\r\n    'button_start': '#ff6b6b',\r\n    'button_end': '#ee5a6f'\r\n})\r\n```\r\n\r\n## Color Palette\r\n\r\n| Color | Hex | Usage |\r\n|-------|-----|-------|\r\n| Primary | #6366f1 | Indigo - Main buttons |\r\n| Secondary | #4f46e5 | Purple - Button end gradient |\r\n| Accent | #a5f3fc | Cyan - Secondary text |\r\n| Background | #0a0e27 | Dark Blue - Window background |\r\n| Text Primary | #e8f0ff | Light Blue - Main text |\r\n| Text Secondary | #a5f3fc | Cyan - Secondary text |\r\n| Warning | #eab308 | Yellow - Warning elements |\r\n| Error | #ef4444 | Red - Error elements |\r\n| Success | #10b981 | Green - Success elements |\r\n\r\n## Customization\r\n\r\nAll components support extensive customization:\r\n\r\n- **CustomMainWindow**: Use `set_theme()` and `set_custom_colors()` to customize\r\n- **CustomDropdown**: Use `set_custom_colors()` for color customization\r\n- **CustomMessageDialog**: Pass different `icon_type` values: \"info\", \"warning\", \"error\"\r\n- **CustomTitleBar**: Customize title, icon, and button visibility\r\n\r\n## Components Overview\r\n\r\n| Component | Purpose | Features |\r\n|-----------|---------|----------|\r\n| `CustomMainWindow` | Main application window | Frameless, custom title bar, themeable, draggable |\r\n| `CustomDropdown` | Standard dropdown | Glassmorphism, smooth animations, custom colors |\r\n| `CustomDropdownCompact` | Compact dropdown | Smaller height variant |\r\n| `CustomDropdownLarge` | Large dropdown | Larger height variant |\r\n| `CustomMessageDialog` | Message dialog | Frameless, draggable, icon support |\r\n| `CustomTitleBar` | Window title bar | Minimize/close buttons, draggable, icon support |\r\n\r\n## Requirements\r\n\r\n- Python 3.8+\r\n- PyQt6 >= 6.0.0\r\n\r\n## Documentation\r\n\r\nFor detailed documentation, see:\r\n\r\n- **DOCUMENTATION.md** - Complete user guide with examples\r\n- **SETUP_AND_PUBLISHING.md** - Setup and PyPI publishing guide\r\n- **CHANGELOG.md** - Version history\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please feel free to submit a Pull Request.\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## Support\r\n\r\nIf you encounter any issues or have questions, please open an issue on the [GitHub repository](https://github.com/yourusername/custom-ui-pyqt6/issues).\r\n\r\n---\r\n\r\n**Happy building! \ud83d\ude80**\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Modern PyQt6 UI components with glassmorphism effects and smooth animations",
    "version": "1.0.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/yourusername/custom-ui-pyqt6/issues",
        "Documentation": "https://github.com/yourusername/custom-ui-pyqt6#readme",
        "Homepage": "https://github.com/yourusername/custom-ui-pyqt6",
        "Repository": "https://github.com/yourusername/custom-ui-pyqt6"
    },
    "split_keywords": [
        "pyqt6",
        " ui",
        " components",
        " glassmorphism",
        " modern",
        " design"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "df967dff37db035af49cc2a29ccd82b896fb9067122fc7f1a034f31475884aee",
                "md5": "f26345a997431fab34e886abf25ed0cb",
                "sha256": "66816050082cf8cd9c5a6539e578b6914e562c100a4cb417074e239bdebc069e"
            },
            "downloads": -1,
            "filename": "custom_ui_pyqt6-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f26345a997431fab34e886abf25ed0cb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 14127,
            "upload_time": "2025-11-04T06:02:07",
            "upload_time_iso_8601": "2025-11-04T06:02:07.649688Z",
            "url": "https://files.pythonhosted.org/packages/df/96/7dff37db035af49cc2a29ccd82b896fb9067122fc7f1a034f31475884aee/custom_ui_pyqt6-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "25afac328960e6c556c2ad3209b2a25766dab83fa1fd35877a8d616bd90fb5dd",
                "md5": "0c335cdd428639d7c10846631641f7e0",
                "sha256": "57e07ab00797599415165ac911854ba1f85cec93479541a2fc4ddded3138ab6d"
            },
            "downloads": -1,
            "filename": "custom_ui_pyqt6-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "0c335cdd428639d7c10846631641f7e0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 14815,
            "upload_time": "2025-11-04T06:02:08",
            "upload_time_iso_8601": "2025-11-04T06:02:08.946151Z",
            "url": "https://files.pythonhosted.org/packages/25/af/ac328960e6c556c2ad3209b2a25766dab83fa1fd35877a8d616bd90fb5dd/custom_ui_pyqt6-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-11-04 06:02:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "yourusername",
    "github_project": "custom-ui-pyqt6",
    "github_not_found": true,
    "lcname": "custom-ui-pyqt6"
}
        
Elapsed time: 9.60264s