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
.
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-libs
sudo pacman -S \
mariadb-libs
sudo pacman -S \
mariadb-libs
Kirigami is a KDE UI (User Interface) framework designed to make it easier to create convergent and responsive applications.
sudo pacman -S \
pyside6 \
kirigami \
flatpak-builder \
qqc2-desktop-style \
appstream
PyQt6:
sudo pacman -S python-pyqt6
.
sudo dnf install \
python3-pyside6 \
kf6-kirigami-devel \
flatpak-builder \
qqc2-desktop-style \
appstream-compose
PyQt6:
sudo dnf install python3-pyqt6
.
sudo zypper install \
python3-qt6 \
python3-pyside6 \
kf6-kirigami-devel \
flatpak-builder \
qqc2-desktop-style \
AppStream-compose
PyQt6:
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-charts
Fedora:
sudo dnf install \
qt6-charts
Ubuntu 25.04:
sudo apt install \
qml6-module-qtcharts
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:
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: