Aller au contenu

WxPython

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 26 février 2007 à 03:17 et modifiée en dernier par Chicobot (discuter | contributions) (Remplacement de modèles : {{informatique}} --> {{Portail Informatique}}). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
Fichier:WxPythonLogo.png
logo de 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'alternatif de Tkinter le plus utilisé.

wxPython est multi-plate-forme, et le même logiciel peut être exécuté sur Windows, UNIX et apparentés, et Mac OS X sans modifications. Pour la création et gestion des widgets, l'interface de programmation du système d'exploitation hôte est utilisé 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 fichier binaires.

Licence

wxPython est publié sous la licence wxWindows Library, qui est basé sur la LGPL mais qui permet la distribution d'œuvres dérivées sous n'importe quelle licence.

Exemple

# -*- 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))

        # A 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:

Liens externes