Accueil🇫🇷Chercher

wxPython

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
Description de l'image WxPython-logo.png.
Description de l'image WxPythonTestLinux.png.
Informations
Dernière version 4.1.0 ()[1]
4.2.1 ()[2]
DĂ©pĂ´t github.com/wxWidgets/Phoenix
Écrit en C++ et Python
Système d'exploitation Type Unix
Type Binding C - Python (d)
Widget toolkit
Bibliothèque logicielle Python (d)
Licence Licence de logiciel libre (en) et licence publique générale GNU
Site web wxpython.org

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

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(en).

Licence

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

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Importation du paquet wxPython
import wx
# Création d'un nouveau cadre, dérivé du wxPython 'Frame'.
class TestFrame(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
    def creerDiag(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
class TestApp(wx.App):
    def OnInit(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 Windows XP
  • Le rĂ©sultat, sous Linux et GNOME
    Le résultat, sous Linux et GNOME
  • Le rĂ©sultat, sous Linux et MATE (thème sombre)
    Le résultat, sous Linux et MATE (thème sombre)

Références

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.