Dépot Copyright

 CopyrightFrance.com

Cours Python

  1. Introduction à Python
  2. Ide Python
  3. Premier programme Python
  4. Les variables en Python
  5. Les commentaires en Python
  6. Les opérateurs Python
  7. Les fonctions en Python
  8. Structure If else... Python
  9. For While Python
  10. Formatage des chaines Python
  11. Les listes en Python
  12. Les tuples en Python
  13. Les dictionnaires en Python
  14. Les ensembles en Python
  15. POO et classes en Python
  16. Héritage en Python
  17. Les exceptions en Python
  18. Le gestionnaire des packages pip
  19. Télécharger le cours complet
  20. Les modules en Python
  21. Le module OS
  22. Module datetime Python
  23. Le module Platform
  24. Le module virtualenv
  25. Le Module PyInstaller
  26. Les fichiers en Python
  27. Les fichiers ouverture & lecture
  28. Les fichiers ouverture & écriture
  29. Les fichiers CSV en Python
  30. Les Fichiers JSON En Python
  31. Fichier de configuration .ini
  32. Python & SQLite database
  33. DB Browser for SQLite
  34. Interface Graphique Tkinter
  35. Les Windgets Tkinter
  36. Bibliothèque d'images PILLOW
  37. Module de style tkinter.ttk
  38. Liste déroulante ttk Combobox
  39. le module filedialog
  40. Projet: Création éditeur de texte
  41. Bibliothèque graphique wxPython
  42. Bibliothèque graphique PyQt5
  43. Télécharger le cours complet
  44. Le module Math
  45. La bibliothèque matplotlib
  46. Le module Python statistics
  47. Bibliothèque Sympy
  48. Bibliothèques Numpy
  49. Bibliothèques Scipy
  50. Bibliothèques Pandas
  51. Bibliothèques Scikit Learn
  52. Bibliothèques TensorFlow
  53. Python Machine Learning
  54. Introduction à Django
  55. Installation de Django
  56. Premier Projet Django
  57. Interface administrateur
  58. Créer une application django
  59. Les modèles de django
  60. Templates Django
  61. Les formulaires Django
  62. Fichiers Statiques Django
  63. Exercices Python: les bases
  64. Exercices Python: les classes
  65. Exercices Python: les fichiers
  66. Tous les TP Python
  67. Création Editeur de Texte en Python Partie1
  68. Carnet d'adresse en Python
  69. Formation Python-partie1

Utilisateurs en ligne

Users: 7 Guests, 2 Bots

Annonces Google

1 – Introduction

Développé par Robin Dunn avec Harri Pasanen, wxPython est implémenté en tant que module d’extension Python. wxPython n’est autre qu’un wrapper:bibliothèque dont la fonction principal est d’appeler et interroger les modules et fonctions d’une autre bibliothèque: wxWidgets (écrit en C ++), une boîte à outils d’interface graphique multi-plateforme populaire.

Tout comme wxWidgets, wxPython est également un logiciel gratuit. Il peut être téléchargé sur le site officiel http://wxpython.org. Les fichiers binaires et le code source de nombreuses plates-formes de système d’exploitation sont disponibles au téléchargement sur ce site. wxPython peut aussi être installé directement via l‘utilitaire pip.

Les principaux modules de l’API wxPython incluent un module principal. Il se compose de la classe wxObject, qui constitue la base de toutes les classes de l’API. Le module de contrôle contient tous les widgets utilisés dans le développement d’applications d’interface graphique. Par exemple, wx.Button, wx.StaticText, wx.TextCtrl (contrôle de texte modifiable), etc.

L’API wxPython possède un module GDI (Graphics Device Interface). C’est un ensemble de classes utilisées pour dessiner sur des widgets. Des classes comme la police, la couleur, le pinceau, etc. en font partie. Pour plus de détails sur la bibliothèque wxPython, nous vous conseillons de voir la documentation officielle sur le wiki de la bibliothèque : https://wiki.wxpython.org/

2 – Installation de wxPython et premier programme

2.1 – Installation de la bibliothèque wxPython

Pour installer la bibliothèque wxPython, rien de plus simple. Il suffit de lancer l’utilitaire de commande cmd et de taper :

pip install -U wxPython

pip-install-wxpython.png-gui-python-wxpython

2.2 – Premier programme ‘Hello World !’ avec wxPython

Nous allons voir maintenant comment créer notre première fenêtre ‘Hello World !’ avec wxPython. Pour cela on doit :

  1. Importer la bibliothèque wxPython :  à l’aide de la commande import wx
  2. Créer un objet applicationen utilisant la méthod App() : app = wx.App()
  3. Créer un cadre (frame) : frame = wx.Frame()
  4. Visualiser le frame à l’aide de la méthode Show() : frame.Show()
  5. Mettre l’application en œuvre avec la méthode Mainloop(): app.Mainloop()
# Importation de la bibliothèque wxPython. 
import wx

# Création d'un objet application en utilisant la méthod App(). 
app = wx.App()

# Création d'un cadre (frame)sans parent. 
frame = wx.Frame(None)

# Visualiser le frame. 
frame.Show()
app.MainLoop()

Ce qui affiche après exécution:

2.3 Propriétés d’une fenêtre frame

Une fenêtre frame de la bibliothèque wxPython, est dotée de nombreuses propriétés : title, SetSize, BackgroundColour…

Exemple. Fenêtre de dimension 400×200 d’arrière plan vert

# Importation de la bibliothèque wxPython. 
import wx

# Création d'un objet application en utilisant la méthod App(). 
app = wx.App()

# Création d'un cadre (frame)sans parent. 
frame = wx.Frame(None)

# Propriétés de la fenêtre 
frame.Title = "Hello World !" 
frame.BackgroundColour = "green" 
frame.SetSize(0,0,400,200)

# Visualiser le frame. 
frame.Show()
app.MainLoop()

3 – Les widgets wxPython

wxPythont possède une large gamme de divers widgets, y compris des boutons, des cases à cocher, des curseurs et des zones de liste.

  1. wx.Button
  2. wx.ToggleButton
  3. wx.StaticText
  4. wx.StaticLine
  5. wx.StaticBox
  6. wx.ComboBox
  7. wx.CheckBox
  8. wx.StatusBar
  9. wx.RadioButton
  10. wx.Gauge
  11. wx.Slider
  12. wx.SpinCtrl
  13. wx.TextCtrl

3.1 – Le widget wx.Button

Le widget wx.Button permet de créer un bouton de commande. Pour cela on doit :

  1. Créer un frame principal avec la méthode Frame()
  2. Créer un panel avec la méthode Panel()
  3. Ajouter le bouton au panel

3.1.1 – Création d’un simple bouton

Exemple. Un simple bouton

# -*- coding: utf-8 -*- 
import wx

app = wx.App() 
frame = wx.Frame(None, title='Fenêtre avec bouton')
frame.SetSize(0,0,350,200)

# Créer un Panel 
panel = wx.Panel(frame)

# Ajouter un bouton au panel 
button = wx.Button(panel,label="un simple bouton") 

frame.Show()
app.MainLoop()

Ce qui affiche un bouton sur le coin à gauche en haut de la fenêtre :

Mais on peut facilement changer la position et les dimensions du bouton à l’aide de la méthode SetSize():

button.SetSize(50,50,200,30)

3.1.2 – Associer une action à un bouton de commande

Pour associer une action event à un bouton de commande, il suffit de définir l’évènement sur une méthode Python et de la lier au bouton  à l’aide de la méthode bind():

button.Bind(wx.EVT_BUTTON, action)

Exemple: bouton de fermeture d’une fenêtre.

# -*- coding: utf-8 -*- 
import wx

def action(event):     
    frame.Close()

app = wx.App() 
frame = wx.Frame(None, title='Fenêtre avec bouton')
frame.SetSize(0,0,350,200)

# Créer un Panel 
panel = wx.Panel(frame)

# Ajouter un bouton au panel 
button = wx.Button(panel,label="un simple bouton") 
button.SetSize(50,50,200,30)

# Associer l'évenement de fermeture au bouton 
button.Bind(wx.EVT_BUTTON, action)

frame.Show()
app.MainLoop()

En exécutant le code ci-dessus, on obtient la fenêtre suivante dotée d’un bouton de fermeture :

Et maintenant en cliquant sur le bouton, la fenêtre se ferme automatiquement.

3.2 Le widget StaticText (label)

Pour créer un label sur une fenêtre wxPython, on utilise le widget StaticText:

Exemple

import wx 

app = wx.App() 
window = wx.Frame(None, title = "wxPython Frame", size = (300,200)) 

# add Panel
panel = wx.Panel(window) 
panel.BackgroundColour="white"

# Create Label on panel
label = wx.StaticText(panel, label = "Hello World", pos = (100,50)) 
window.Show(True) 
app.MainLoop()

4 – mini app wxPython

Nous allons maintenant créer une petite application qui affiche à l’utilisateur une petite fenêtre lui demandant de saisir son nom et de lui afficher un message de bienvenue après avoir cliqué sur le bouton de validation.

# -*- coding: utf-8 -*-
import wx

def action(event):
    s = edit.GetValue()
    lblResult.SetLabelText("Bienvenue : " + s)

    
app = wx.App()
frame = wx.Frame(None, title='Fenêtre avec bouton')

frame.SetSize(0,0,550,300)

# === Créer un Panel === 
panel = wx.Panel(frame)

#  === Label nom & sortie === 
lblNom = wx.StaticText(panel)
lblNom.SetSize(50,50,100,10)
lblNom.SetLabel("Saisir votre nom")
lblResult = wx.StaticText(panel)
lblResult.SetLabel("")
lblResult.SetSize(200,100,100,20)

# === TextEntry === 
edit = wx.TextCtrl(panel)
edit.SetSize(200,50,200,30)

#  === Ajouter un bouton au panel === 
button = wx.Button(panel,label="Valider")
button.SetSize(200,150,200,30)

#  === Associer l'évenement de fermeture au bouton === 
button.Bind(wx.EVT_BUTTON, action)

frame.Show()

app.MainLoop()

Ce qui affiche après exécution du code:

 

 

Younes Derfoufi
CRMEF OUJDA

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Time limit is exhausted. Please reload the CAPTCHA.