You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.7 KiB
88 lines
2.7 KiB
.. BadGUI documentation master file, created by |
|
sphinx-quickstart on Sat Sep 27 21:52:16 2025. |
|
You can adapt this file completely to your liking, but it should at least |
|
contain the root `toctree` directive. |
|
|
|
BadGUI Documentation |
|
==================== |
|
|
|
.. image:: https://img.shields.io/badge/Python-3.8+-blue.svg |
|
:target: https://python.org |
|
:alt: Python Version |
|
|
|
.. image:: https://img.shields.io/badge/Framework-Vue.js%203-green.svg |
|
:target: https://vuejs.org |
|
:alt: Vue.js 3 |
|
|
|
.. image:: https://img.shields.io/badge/UI-Quasar-blue.svg |
|
:target: https://quasar.dev |
|
:alt: Quasar Framework |
|
|
|
**BadGUI** is a Python framework that generates Vue.js/Quasar projects using syntax similar to NiceGUI. Instead of running a live server, BadGUI creates a complete, editable Vue.js project that you can further customize and deploy. |
|
|
|
Key Features |
|
------------ |
|
|
|
- **NiceGUI-like syntax**: Write familiar Python code to define your UI |
|
- **Vue.js/Quasar output**: Generates modern, responsive web applications |
|
- **Static project generation**: Creates editable Vue projects, not live servers |
|
- **🚀 Instant Development**: ``bg.dev()`` creates temp build, installs deps, and starts server automatically |
|
- **Component-based**: Modular component system for reusable UI elements |
|
- **Layout system**: Built-in row/column layouts with context managers |
|
- **Multi-page routing**: Create multiple pages with Vue Router integration |
|
- **Styling methods**: NiceGUI-style ``.classes()``, ``.props()``, and ``.style()`` methods |
|
- **Method chaining**: Fluent API for building components |
|
- **Dual workflow**: Instant dev mode OR static project generation |
|
|
|
Quick Start |
|
----------- |
|
|
|
Installation:: |
|
|
|
pip install badgui |
|
|
|
Basic Usage: |
|
|
|
.. code-block:: python |
|
|
|
import badgui as bg |
|
|
|
# Create a page using context manager |
|
with bg.page("/", "HomePage", "Welcome"): |
|
# Basic components with styling |
|
bg.label("Hello BadGUI!").classes("text-h3 text-primary") |
|
|
|
# Styled button with method chaining |
|
bg.button("Click me!").classes("q-btn-primary").props("outline") |
|
|
|
# Layout containers |
|
with bg.row().classes("q-gutter-md") as row: |
|
bg.label("Item 1").classes("bg-blue-100 p-4") |
|
bg.label("Item 2").classes("bg-green-100 p-4") |
|
|
|
# 🚀 INSTANT DEVELOPMENT - One command does it all! |
|
bg.dev(port=3000) # Creates temp build, installs deps, starts server! |
|
|
|
# OR build static project for deployment |
|
# bg.build(output_dir="./my-vue-app") |
|
|
|
.. toctree:: |
|
:maxdepth: 2 |
|
:caption: Contents: |
|
|
|
installation |
|
quickstart |
|
development |
|
components |
|
styling |
|
routing |
|
examples |
|
api/modules |
|
|
|
Indices and Tables |
|
================== |
|
|
|
* :ref:`genindex` |
|
* :ref:`modindex` |
|
* :ref:`search` |
|
|
|
|