atelier20230316-python-gui
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
atelier20230316-python-gui [2023/03/16 20:16] – tbruyere | atelier20230316-python-gui [2023/03/17 19:15] – tbruyere | ||
---|---|---|---|
Ligne 63: | Ligne 63: | ||
'' | '' | ||
+ | |||
+ | <note tip>La licence est semi libre</ | ||
===== Kivy ===== | ===== Kivy ===== | ||
Ligne 215: | Ligne 217: | ||
===== La gestion de la grille (grid) ===== | ===== La gestion de la grille (grid) ===== | ||
+ | Cette stratégie permet de positionner chacun de vos widgets dans une ou plusieurs cellules d'une grille. La grille est organisée en lignes et en colonnes : vous pouvez, bien entendu, contrôler le nombre de lignes et de colonnes. Il est aussi à noter qu'il est possible qu'un widget occupe plusieurs cellules de la grille. Voici une capture d' | ||
+ | ===== GTK et les conteneurs ===== | ||
+ | |||
+ | GTK+ organise les widgets de manière hiérarchique, | ||
+ | |||
+ | https:// | ||
+ | |||
+ | ==== Exemple GTK ==== | ||
+ | |||
+ | <code python> | ||
+ | import gi | ||
+ | |||
+ | gi.require_version(" | ||
+ | from gi.repository import Gtk | ||
+ | |||
+ | |||
+ | class MyWindow(Gtk.Window): | ||
+ | def __init__(self): | ||
+ | super().__init__(title=" | ||
+ | |||
+ | self.box = Gtk.Box(spacing=6) | ||
+ | self.add(self.box) | ||
+ | |||
+ | self.button1 = Gtk.Button(label=" | ||
+ | self.button1.connect(" | ||
+ | self.box.pack_start(self.button1, | ||
+ | |||
+ | self.button2 = Gtk.Button(label=" | ||
+ | self.button2.connect(" | ||
+ | self.box.pack_start(self.button2, | ||
+ | |||
+ | def on_button1_clicked(self, | ||
+ | print(" | ||
+ | |||
+ | def on_button2_clicked(self, | ||
+ | print(" | ||
+ | |||
+ | |||
+ | win = MyWindow() | ||
+ | win.connect(" | ||
+ | win.show_all() | ||
+ | Gtk.main() | ||
+ | </ | ||
+ | |||
+ | ===== GTK Glade ===== | ||
+ | |||
+ | Glade est un outil interactif de conception d' | ||
+ | |||
+ | ==== Exemple Glade ==== | ||
+ | |||
+ | <code python> | ||
+ | # | ||
+ | # coding: utf-8 | ||
+ | |||
+ | from gi.repository import Gtk | ||
+ | |||
+ | def when_button_is_clicked(label): | ||
+ | ''' | ||
+ | Quand le bouton est cliqué | ||
+ | ''' | ||
+ | label.set_text(' | ||
+ | |||
+ | |||
+ | builder = Gtk.Builder() | ||
+ | builder.add_from_file(' | ||
+ | |||
+ | window = builder.get_object(' | ||
+ | # Peut se faire dans Glade mais je préfère le faire ici, à vous de voir | ||
+ | window.connect(' | ||
+ | |||
+ | # Le handler | ||
+ | handler = {' | ||
+ | builder.connect_signals(handler) | ||
+ | |||
+ | window.show_all() | ||
+ | Gtk.main() | ||
+ | |||
+ | </ | ||
===== Lien ===== | ===== Lien ===== | ||
Ligne 227: | Ligne 307: | ||
* http:// | * http:// | ||
* https:// | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * http:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | |
atelier20230316-python-gui.txt · Dernière modification : 2023/03/17 19:42 de tbruyere