Tutoriel sur le Framework WxPython pour débutant


Télécharger Tutoriel sur le Framework WxPython pour débutant

★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Télécharger aussi :


Tutoriel sur le Framework WxPython pour débutant

...

Chapitre 1: Démarrer avec wxpython

Remarques

Qu'est-ce que wxPython

En termes simples, wxPython est un ensemble de liaisons à la bibliothèque d'interfaces graphiques C ++ Cross Platform de wxWidgets .

Ok ce qui est wxWidgets

La bibliothèque wxWidgets fournit un ensemble gratuit, gratuit et gratuit, d'abstractions pour les différents éléments de l'interface graphique, afin que les contrôles natifs soient toujours utilisés, le cas échéant, en conservant l'aspect, la rapidité et l'aspect natifs. En tant que tel, il fournit une abstraction pour la création d'interface graphique et de nombreux autres utilitaires sur une plateforme qui permet aux développeurs de créer des applications pour Windows, Mac OS X, Linux et d'autres plates-formes utilisant une seule base de code. wxWidgets a été lancé en 1992 et vous pouvez voir un historique détaillé ici . La bibliothèque wxWidgets est distribuée sous la licence wxWindows, qui est basée sur la L-GPL mais avec une clause d'exception . La clause d'exception vous permet de lier dynamiquement ou statiquement votre application à wxWidgets sans devoir distribuer la source pour votre propre application. En d'autres termes, vous pouvez utiliser wxWidgets pour des projets gratuits ou commerciaux , sans frais . La licence vous encourage à redonner des améliorations à la bibliothèque wxWidgets elle-même.

Les points saillants, notez que wxWidgets comprend des centaines de classes pour le développement d'applications multiplate-forme :

  • Disposition de la fenêtre à l'aide de Sizers
  • Contextes de périphériques (avec stylos, pinceaux et polices)
  • Système complet de gestion des événements
  • Visualiseur d'aide HTML
  • Lecture sonore et vidéo
  • Prise en charge d'Unicode et d'internationalisation
  • Architecture de document / vue
  • Archiecture d'impression
  • Douilles
  • Multithreading
  • Manipulation de fichiers et de répertoires
  • Aide en ligne et contextuelle
  • Rendu HTML
  • Conteneurs de base
  • Chargement, sauvegarde, dessin et manipulation d'images
  • Date et heure de la bibliothèque et des minuteries
  • La gestion des erreurs
  • Presse-papiers et glisser-déposer

Notez que certaines de ces fonctionnalités, par exemple le threading, ne sont pas réellement liées à l'interface graphique, mais fournissent une abstraction utile entre plates-formes afin que, par exemple, un ensemble de code d'application fonctionne sur n'importe quelle plate-forme. Pendant de nombreuses années, la bibliothèque wxWidgets a produit 4 versions distinctes, en plus des versions de débogage d'un ensemble de code source, de bibliothèques statiques et dynamiques conçues pour ASCII et Unicode. Il est généralement disponible pré-construit dans les variantes les plus courantes et en tant que code source à construire avec les différentes options pour l'environnement cible et avec la chaîne d'outils C ++ des développeurs avec de nombreuses chaînes d'outils prises en charge.

Les liaisons python pour cette bibliothèque et certains ajouts forment wxPython.

Retour à Qu'est-ce que wxPython, (qu'est-ce que ça me donne)?

wxPython permet au développeur de bénéficier d'une bibliothèque d'interface graphique multiplateforme, avec une licence claire, tout en offrant les avantages de Python. Comme wxWidgets et Python, wxPython est gratuit, gratuit et open source, et peut être utilisé et distribué dans des projets gratuits et commerciaux sans qu'il soit nécessaire de distribuer votre code source .

Suite graphique complète incluant (mais sans s'y limiter):

○ Windows (y compris MDI Windows)

○ Des magiciens

○ Cadres et MiniFrames

○ Dialogues, Standard, Avancé et Personnalisé

○ Livres, arbres, grilles et contrôles d'affichage des données

○ Jauges, Sliders, Spinners, Animations, Presse-papiers, Drag & Drop



○ Prise en charge du visualiseur HTML, PDF et image

Les composants de l'interface graphique peuvent être positionnés de manière absolue, mais il est fortement recommandé d'utiliser une mise en page basée sur le dimensionnement qui prend en charge le dimensionnement automatique, etc.

Cross Platform - Support des interfaces graphiques pour Windows, OS-X et Linux avec une base de code unique sans instructions conditionnelles dans votre code

  • Vitesse native, look & feel.
  • Prototype rapide, test et débogage - rappelez - vous qu'il s'agit de python
  • Exécuter et éditer des échantillons de presque tout dans le package de démonstration.
  • Licence claire pour une utilisation gratuite même dans les produits commerciaux.

Si nécessaire, votre interface graphique python peut être modifiée en une interface graphique C ++ wxWidgets ultérieurement, car elle l’utilise déjà.

  • Large communauté d'utilisateurs et de développeurs, active et utile, à la fois sur StackOverflow et sur les listes de diffusion.

Notez que lorsque python lui-même fournit un mécanisme multi-plateforme pour implémenter les fonctions utilitaires de wxWidgets, le nouveau threading étant un bon exemple , il est intentionnellement omis de wxPython. wxPython possède également une très grande suite de démonstrations pouvant être exécutées, testées et éditées à partir du package Documents and Demo.

Saveurs de wxPython

ASCII vs Unicode :

Pendant de nombreuses années, comme avec wxWidgets , les développeurs devaient choisir entre les versions ASCII et Unicode, ainsi que leur version spécifique de python et les options 32/64 bits. À partir de wxPython 2.8.9, la version ASCII uniquement de wxPython a été supprimée. Le support Unicode est donc toujours disponible.

Classique vs. Phoenix :

Depuis wxPython 3.0.0, il y a eu la version "Classic" de wxPython et une version Phoenix inédite . La version classique a tendance à prendre du retard par rapport aux versions wxWidgets des mêmes numéros et le package de documentation est C ++ - il est disponible en téléchargement pour différentes plates-formes (voir Installation de Classic ), dans le cas de Windows en tant qu'installateur exécutable. Les liaisons Phoenix, générées en grande partie automatiquement, devraient suivre de plus près les versions de wxWidgets et inclure également la documentation spécifique à wxPython - elle peut être générée à partir de builds sources ou nocturnes car des roues peuvent être obtenues avec pip (voir Installation de Phoenix ).

Dans wxPython mais pas wxWidgets

wxPython étend la bibliothèque wxWidgets avec un certain nombre de fonctionnalités, les suivantes ne sont que quelques unes, non disponibles dans wxWidgets:

  • Programmeurs Editeurs & Coquilles: crust , crustslices , AlaCart & AlaMode , AlaModeTest
  • Interprète et magie

Inspection - cela vous permet de lancer une fenêtre pour parcourir tous les composants de votre interface graphique.

  • Un ensemble complet de démos

Captures d' écran de démonstration sur Win10

La démo wxPython avec toutes les branches fermées:

Examples

Installation de wxPython Phoenix wxPython Phoenix est la dernière version de wxPython, (actuellement septembre 2016 sans version officielle). Il supporte à la fois Python 2 et Python 3. Vous pouvez télécharger une version instantanée (une roue Python) pour votre plate-forme et la version Python ici . wxPython Phoenix utilise un mécanisme largement automatisé pour générer à la fois les liaisons python pour la bibliothèque wxWidgets et la documentation. La documentation de Phoenix wxPython est spécifiquement générée pour lui-même en utilisant Sphinx . Cela augmente la clarté par rapport à la documentation C ++ de la version classique, qui inclut de nombreuses surcharges qui ne sont pas disponibles dans wxPython. Python et pip doivent être installés avant l'installation de wxPython Phoenix

Vous pouvez utiliser pip pour installer la version Phoenix de wxPython. Voici la méthode recommandée actuellement:

python -m pip install --no-index --find-links=http://wxpython.org/Phoenix/snapshot-builds/ -- trusted-host wxpython.org wxPython_Phoenix

Lorsque vous utilisez cette commande, pip installe également wxWidgets . Cette commande complexe de pip deviendra probablement 'pip install wxpython' lorsque Phoenix sera officiellement publié.



Note: wxPython Phoenix est actuellement en version bêta et ne possède pas tous les widgets de la version Classic.

Installation de wxPython Classic

wxPython Classic est une version Python 2 de la bibliothèque wxPython. La génération des liaisons python nécessite un grand nombre d'interventions manuelles et la documentation est simplement la documentation de wxWidgets qui contient des annotations sur les mécanismes wxPython. Il y a normalement un délai de quelques semaines à quelques mois entre une nouvelle version de wxWidgets et la version correspondante de wxPython . Accédez à la page de téléchargement du site Web wxPython pour voir s'il existe déjà une version de wxPython que vous pouvez télécharger pour votre plate-forme.

La dernière version de Classic est 3.0.2.0 les fenêtres

Il existe des installateurs pour Python 2.6 et 2.7 pour les plates-formes Windows 32 bits et 64 bits sur le site Web. Il suffit de télécharger l'un d'entre eux et de les exécuter pour l'installer.

Remarque: Assurez-vous de télécharger un programme d'installation wxPython pour le bon

Python que vous avez installé. Par exemple, si vous avez Python 2.7 32 bits, vous voulez un installateur 32 bits wxPython

Mac

Si vous avez OSX 10.5 ou supérieur , vous voudrez télécharger et installer la version Cocoa de wxPython. La version Cocoa prend également en charge le Mac 64 bits.

Si vous avez un Mac avec une version d'OSX inférieure à 10.5 , alors vous voudrez la construction Carbon .

Linux

La première chose à vérifier si le gestionnaire de paquets de votre plate-forme Linux (yum, aptget, etc.) pour voir s'il a une version de wxPython que vous pouvez installer. Malheureusement, beaucoup de paquets Linux pour wxPython sont pour la version 2.8.12.1 au lieu de 3.0.2.0. Si votre gestionnaire de paquets ne dispose pas de la dernière version, vous devrez probablement le créer vous-même.

Il y a des instructions de compilation pour 3.0.2.0-Classic ici

Bonjour le monde

Un moyen simple de créer un programme Hello World :

import wx

app = wx.App(redirect=False)

frame = wx.Frame(parent=None, id=wx.ID_ANY, title='Hello World')

frame.Show()

app.MainLoop()

Sortie:

Un exemple plus typique serait la sous-classe wx.Frame :

import wx

class MyFrame(wx.Frame):

def __init__(self):

wx.Frame.__init__(self, None, title='Hello World')

self.Show()

if __name__ == '__main__':

app = wx.App(redirect=False)

frame = MyFrame()

app.MainLoop()

Cela peut également être réécrit pour utiliser le super de Python: import wx

class MyFrame(wx.Frame):

def __init__(self, *args, **kwargs):

"""Constructor"""

super(MyFrame, self).__init__(*args, **kwargs)

self.Show()

if __name__ == '__main__':

app = wx.App(False)

frame = MyFrame(None, title='Hello World')

app.MainLoop()



10