| Dernière version | 4.2.3 ()[1] |
|---|---|
| Dépôt | github.com/wxWidgets/Phoenix |
| Écrit en | C++ etPython |
| Système d'exploitation | Type Unix |
| Type | Binding C - Python(d) Widget toolkit Bibliothèque logicielle Python(d) |
| Licence | Licence de logiciel libre(en) etlicence publique générale GNU |
| Site web | wxpython.org |
wxPython est une implémentation libre enPython de l'interface de programmationwxWidgets. Cette bibliothèque Python est utilisée pour la création d'interfaces graphiques, et est l'alternative deTkinter la plus utilisée.
wxPython estmultiplate-forme, et le même logiciel peut être exécuté surWindows,UNIX et apparentés, etMacOS sans modification. Pour la création et gestion deswidgets, l'interface de programmation dusystè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 uneinterface de programmation très complète. Ceci donne uncycle 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 defichiers binaires.
wxPython est né quandRobin Dunn eut besoin d'uneinterface utilisateur graphique qui devait être déployée sousHP-UX et aussiWindows 3.1 en quelques semaines. Pendant l'évaluation de solutions commerciales, il trouva desbindings en Python pour la boite à outils wxWidgets. Donc il apprit Python et, bientôt, devint un des principauxdéveloppeurs de wxPython (qui grandit de ces bindings d'origine), avecHarri Pasanen.Les premières versions duwrapper étaient codées à la main mais lecode devint rapidement très difficile à garder synchronisé avec les versions de wxWidgets. Par contre, les versions plus récentes sont créées avecSWIG, 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).
wxPython est publié sous la licencewxWindows Library, qui est basée sur laLGPL mais qui permet la distribution d'œuvres dérivées sous n'importe quelle licence.
#!/usr/bin/env python# -*- coding: utf-8 -*-# Importation du paquet wxPythonimportwx# 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 panneautexte=wx.StaticText(panel,-1,"Bonjour tout le monde!",wx.Point(10,5),wx.Size(-1,-1))# Créer un bouton dans le panneaubouton=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 dialoguedefcreerDiag(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.AppclassTestApp(wx.App):defOnInit(self):frame=TestFrame(None,-1,"Test")self.SetTopWindow(frame)frame.Show(True)returnTrueif__name__=='__main__':app=TestApp(0)# créer une nouvelle instance de l'applicationapp.MainLoop()# lancer l'application
En voici le résultat:
Bibliothèques Python | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Interfaces graphiques | |||||||||
| Bibliothèques scientifiques |
| ||||||||
| Frameworksweb | |||||||||
| Articles liés | |||||||||