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 13 novembre 2006 à 12:28 et modifiée en dernier par Ianare (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)

Modèle:Ébauche informatique wxPython est une implémentation en Python de l'interface de programmation wxWidgets. Cette bibliothèque 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 MS Windows, UNIX et apparentés, et Macintosh 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 un interface de programmation très complet. Ceci donne un cycle de développement rapide tout en permettant une grande complexité si nécessaire.


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=(0, 0), size=(320, 240))

        # A l'intérieur du cadre, créer un panneau..
        panel = wx.Panel(self, -1)

        # ... et créer un texte dans le panneau
        text = wx.StaticText(panel, -1, "Bonjour, monde!", wx.Point(10, 5), wx.Size(-1, -1))

# 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