This repository is your complete guide to building sleek, modern graphical user interfaces with Python (PySide) and Qt framework. Whether you're a beginner or an experienced developer, you'll find practical tutorials, tips, and real code examples to level up your projects.
If this content has helped you, please consider making a donation. Your support makes a real difference and helps the project grow! 💙
Crafted with 💙 by Renato Cruz. Got questions or feedback? Reach out anytime!
What I'm listening to while I code or study 😎🎵:
Your donation keeps this project alive and helps me continue creating and sharing useful content.
https://github.com/sponsors/natorsc/
b1839493-2afe-484d-9272-82a3e402b36f
Main commands:
pyside6-android-deploy.pyside6-assistant.pyside6-balsam.pyside6-balsamui.pyside6-deploy.pyside6-designer.pyside6-genpyi.pyside6-linguist.pyside6-lrelease.pyside6-lupdate.pyside6-metaobjectdump.pyside6-project.pyside6-qml.pyside6-qmlcachegen.pyside6-qmlformat.pyside6-qmlimportscanner.pyside6-qmllint.pyside6-qmlls.pyside6-qmltyperegistrar.pyside6-qsb.pyside6-qtpy2cpp.pyside6-rcc.pyside6-svgtoqml.pyside6-uic.
flatpak install org.kde.Platform/x86_64/6.9 org.kde.Sdk/x86_64/6.9
Example:
{
"id": "com.github.natorsc.AppName",
"runtime": "org.kde.Platform",
"runtime-version": "6.9",
"sdk": "org.kde.Sdk",
"base": "io.qt.PySide.BaseApp",
"base-version": "6.9",
"command": "app-name",
"cleanup-commands": [
"- /app/cleanup-BaseApp.sh"
],
"finish-args": [
"--share=ipc",
"--socket=wayland",
"--socket=x11",
"--socket=pulseaudio",
"--device=dri"
],
"modules": [
{
"name": "app-name",
"buildsystem": "simple",
"build-commands": [
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"app_name\" --no-build-isolation"
],
"sources": [
{
"type": "file",
"path": "./dist/app_name-0.1.0-py3-none-any.whl"
}
]
}
]
}Example:
{
"id": "com.github.natorsc.AppName",
"runtime": "org.kde.Platform",
"runtime-version": "6.9",
"sdk": "org.kde.Sdk",
"base": "com.riverbankcomputing.PyQt.BaseApp",
"base-version": "6.9",
"command": "app-name",
"cleanup-commands": [
"- /app/cleanup-BaseApp.sh"
],
"finish-args": [
"--share=ipc",
"--socket=wayland",
"--socket=x11",
"--socket=pulseaudio",
"--device=dri"
],
"modules": [
{
"name": "app-name",
"buildsystem": "simple",
"build-commands": [
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"app_name\" --no-build-isolation"
],
"sources": [
{
"type": "file",
"path": "./dist/app_name-0.1.0-py3-none-any.whl"
}
]
}
]
}If necessary, create a file for each operating system.
name: Deploying PySide6 with Nuitka ⚙️.
on:
push:
branches: ['main']
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: 'deploy'
cancel-in-progress: true
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: '${{ matrix.os }}'
steps:
- name: Check out repository 💾.
uses: actions/checkout@v5
- name: Install Python 🐍.
uses: actions/setup-python@v5
with:
python-version: '3.11'
architecture: 'x64'
cache: 'pip'
cache-dependency-path: |
**/requirements*.txt
- name: Install requirements 🔨.
working-directory: .
run: python -m pip install --upgrade pip && pip install -r requirements.txt
- name: Install and configure Nuitka 🛠️.
uses: Nuitka/Nuitka-Action@main
with:
nuitka-version: main
script-name: path/to/the/script.py
enable-plugins: pyside6
quiet: true
standalone: true
disable-console: true
macos-create-app-bundle: true
output-file: nome-do-aplicativo
linux-icon: path/to/the/icon.ico
windows-icon-from-ico: path/to/the/icon.ico
macos-app-icon: path/to/the/con.icns
macos-app-name: nome-do-aplicativo
- name: Upload artifact (onefile) 🚀.
uses: actions/upload-artifact@v4
with:
name: '${{ runner.os }}-build'
path: |
build/app.dist
build/*.exe
build/*.bin
build/*.app/**/*sudo pacman -S \
postgresql-libssudo pacman -S \
mariadb-libssudo pacman -S \
mariadb-libsKirigami is a KDE UI (User Interface) framework designed to make it easier to create convergent and responsive applications.
The Kirigami framework cannot be used within virtual environments (venv, poetry, pdm, uv, etc).
sudo pacman -S \
python-lsp-server \
pyside6 \
kirigami \
flatpak-builder \
qqc2-desktop-style \
appstreamPyQt6:
sudo pacman -S python-pyqt6.
sudo dnf install \
python3-lsp-server \
python3-pyside6 \
kf6-kirigami-devel \
flatpak-builder \
qqc2-desktop-style \
appstream-composePyQt6:
sudo dnf install python3-pyqt6.
sudo zypper install \
python3-qt6 \
python3-pyside6 \
kf6-kirigami-devel \
flatpak-builder \
qqc2-desktop-style \
AppStream-composePyQt6:
sudo zypper install python-PyQt6.
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
ToDo.
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Arch Linux:
sudo pacman -S \
qt6-chartsFedora:
sudo dnf install \
qt6-chartsUbuntu 25.04:
sudo apt install \
qml6-module-qtchartsCode:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Todo
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:
Code:

























































































