QTutorial provides an easy way to add step-by-step tutorials to your PySide6 apps. It features element highlighting, responsive hint positioning, and customizable tutorial steps.
The following sequence diagram illustrates the core workflow of QTutorial:
- Interactive tutorial overlay
- UI element highlighting
- Step-by-step guidance
- Customizable tutorial steps
- Responsive hint positioning
- Keyboard navigation support
- Python 3.10+
- PySide6
Installation Guide
-
Clone this repository:
git clone https://github.com/HardMax71/qtutorial.git
-
Navigate to the project directory:
cd qtutorial
-
Create a virtual environment:
python -m venv venv
-
Activate the virtual environment:
- On Windows:
venv\Scripts\activate
- On macOS and Linux:
source venv/bin/activate
-
Install the required packages:
pip install requirements.txt # or pip install PySide6
-
Run the application:
python main.py
The application will start with the tutorial mode automatically activated.
To customize the tutorial:
- Modify the
tutorial_steps
list in theMainWindow
class. - Adjust the UI layout in the
MainWindow
class. - Customize styles by editing the QSS files:
tutorial_hint.qss
: Style for the tutorial hint boxhighlight.qss
: Style for highlighted elementsstart_style.qss
: General application style
qtutorial/
│
├── files/
│ └── example.gif
├── qtutorial/
│ ├── styles/
│ │ ├── highlight.qss
│ │ └── tutorial_hint.qss
│ ├── icons/
│ | ├── back-button.png
│ | └── ...
│ ├── init.py
│ ├── hint.py
│ ├── tutorial_manager.py
│ └── utils.py
├── .gitignore
├── LICENSE
├── main.py
├── README.md
└── start_style.qss
files/
: Contains additional resourcesexample.gif
: Demonstration of the tutorial system
qtutorial/
: Core package of the tutorial systemstyles/
: QSS stylesheets for the tutorial componentsicons/
: Icon resources__init__.py
: Package initializerhint.py
: Implements the tutorial hint widgettutorial_manager.py
: Manages the tutorial flowutils.py
: Utility functions including stylesheet loading
main.py
: Main application scriptstart_style.qss
: General application stylesheet
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.