| Dernière version |
4.2.3 ()[1]👁 Voir et modifier les données sur Wikidata |
|---|---|
| Dépôt |
github.com/wxWidgets/Phoenix👁 Voir et modifier les données sur Wikidata |
| Écrit en |
C++ et Python👁 Voir et modifier les données sur Wikidata |
| Système d'exploitation |
Type Unix👁 Voir et modifier les données sur Wikidata |
| Type |
Binding C - Python (d) Widget toolkit Bibliothèque logicielle Python (d)👁 Voir et modifier les données sur Wikidata |
| Licence |
Licence de logiciel libre (en) et licence publique générale GNU👁 Voir et modifier les données sur Wikidata |
| Site web |
wxpython.org👁 Voir et modifier les données sur Wikidata |
wxPython est une implémentation libre en Python de l'interface de programmation wxWidgets. Cette bibliothèque Python est utilisée pour la création d'interfaces graphiques, et est l'alternative de Tkinter la plus utilisée.
wxPython est multiplate-forme, et le même logiciel peut être exécuté sur Windows, UNIX et apparentés, et MacOS sans modification. Pour la création et gestion des widgets, l'interface de programmation du système d'exploitation hôte est utilisée le plus possible, ce qui donne une apparence native à l'application.
wxPython essaie d'unir la simplicité et la lecture facile de Python avec une interface de programmation très complète. Ceci donne un cycle de développement rapide tout en permettant une grande complexité si nécessaire.
Pour pouvoir utiliser les logiciels qui utilisent cette bibliothèque, il est d'abord nécessaire de la télécharger et de l'installer sur le système, en plus de l'installation de Python, à moins de recevoir le logiciel sous forme de fichiers binaires.
Histoire
[modifier | modifier le code]wxPython est né quand Robin Dunn eut besoin d'une interface utilisateur graphique qui devait être déployée sous HP-UX et aussi Windows 3.1 en quelques semaines. Pendant l'évaluation de solutions commerciales, il trouva des bindings en Python pour la boite à outils wxWidgets. Donc il apprit Python et, bientôt, devint un des principaux développeurs de wxPython (qui grandit de ces bindings d'origine), avec Harri Pasanen. Les premières versions du wrapper étaient codées à la main mais le code devint rapidement très difficile à garder synchronisé avec les versions de wxWidgets. Par contre, les versions plus récentes sont créées avec SWIG, ce qui réduit considérablement le travail nécessaire aux mises à jour. La première version « moderne » fut annoncée en 1998[1](en).
Licence
[modifier | modifier le code]wxPython est publié sous la licence wxWindows Library, qui est basée sur la LGPL mais qui permet la distribution d'œuvres dérivées sous n'importe quelle licence.
Exemple
[modifier | modifier le code]#!/usr/bin/env python # -*- coding: utf-8 -*- # Importation du paquet wxPython importwx # Création d'un nouveau cadre, dérivé du wxPython 'Frame'. classTestFrame(wx.Frame): def__init__(self, parent, ID, title): wx.Frame.__init__(self, parent, -1, title, pos=(-1, -1), size=(200, 100)) # À l'intérieur du cadre, créer un panneau.. panel = wx.Panel(self, -1) # Créer un texte dans le panneau texte = wx.StaticText(panel, -1, "Bonjour tout le monde!", wx.Point(10, 5), wx.Size(-1, -1)) # Créer un bouton dans le panneau bouton = wx.Button(panel, -1, "Cliquez-moi!", wx.Point(10, 35), wx.Size(-1, -1)) # lier le bouton à une fonction: self.Bind(wx.EVT_BUTTON, self.creerDiag, bouton) # fonction qui affiche une boîte de dialogue defcreerDiag(self, event): dlg = wx.MessageDialog(self, "Merci de m'avoir cliqué, ça fait du bien.", "Merci!", wx.ICON_EXCLAMATION | wx.YES_NO | wx.CANCEL) dlg.ShowModal() dlg.Destroy() # Chaque application wxWidgets doit avoir une classe dérivée de wx.App classTestApp(wx.App): defOnInit(self): frame = TestFrame(None, -1, "Test") self.SetTopWindow(frame) frame.Show(True) return True if __name__ == '__main__': app = TestApp(0) # créer une nouvelle instance de l'application app.MainLoop() # lancer l'application
En voici le résultat:
-
Le résultat, sous Windows XP
-
Le résultat, sous Linux et GNOME
-
Le résultat, sous Linux et MATE (thème sombre)
Références
[modifier | modifier le code]Liens externes
[modifier | modifier le code]- (en) Site Officiel de wxPython
- (en) Site Officiel de wxWidgets
- Construire une interface graphique pas à pas avec TkInter et wxPython
Bibliothèques Python |
|||||||||
|---|---|---|---|---|---|---|---|---|---|
| Interfaces graphiques | |||||||||
| Bibliothèques scientifiques |
|
||||||||
| Frameworks web | |||||||||
| Articles liés | |||||||||
- Page utilisant P348
- Page utilisant P1324
- Page utilisant P277
- Logiciel catégorisé automatiquement par langage d'écriture
- Page utilisant P306
- Page utilisant P31
- Page utilisant P275
- Page utilisant P856
- Article utilisant une Infobox
- Portail:Logiciels libres/Articles liés
- Portail:Logiciel/Articles liés
- Portail:Informatique/Articles liés
- Portail:Technologies/Articles liés
- Portail:Programmation informatique/Articles liés
