diff options
| author | afix.space <laurent@afix.space> | 2026-07-09 19:34:22 +0200 |
|---|---|---|
| committer | afix.space <laurent@afix.space> | 2026-07-09 19:34:22 +0200 |
| commit | 5c369a5d98dbab80903dfcb7c52625c78228e789 (patch) | |
| tree | e17ac19cc282778dd14aa6cdac3b50481e55e9ea /examples/hello_widgets.py | |
Flake devShell (PySide6 6.11 on Python 3.13, designer, uic/rcc from
qtbase libexec, offline docs) plus hello_widgets and hello_quick
examples. QML_IMPORT_PATH exported — nixpkgs PySide6 finds platform
plugins on its own but not QML imports; see README.
Diffstat (limited to 'examples/hello_widgets.py')
| -rw-r--r-- | examples/hello_widgets.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/examples/hello_widgets.py b/examples/hello_widgets.py new file mode 100644 index 0000000..926fff6 --- /dev/null +++ b/examples/hello_widgets.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python3 +"""Minimal PySide6 Widgets app: a counter demonstrating signals/slots.""" + +import sys + +from PySide6.QtWidgets import ( + QApplication, + QLabel, + QPushButton, + QVBoxLayout, + QWidget, +) + + +def main() -> int: + app = QApplication(sys.argv) + + window = QWidget() + window.setWindowTitle("Hello PySide6") + + label = QLabel("Clics : 0") + button = QPushButton("Cliquer") + + count = 0 + + def on_click() -> None: + nonlocal count + count += 1 + label.setText(f"Clics : {count}") + + button.clicked.connect(on_click) + + layout = QVBoxLayout(window) + layout.addWidget(label) + layout.addWidget(button) + + window.resize(240, 100) + window.show() + return app.exec() + + +if __name__ == "__main__": + sys.exit(main()) |
