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. Upload des fichiers django
  64. Exercices Python: les bases
  65. Exercices Python: les classes
  66. Exercices Python: les fichiers
  67. Tous les TP Python
  68. Création Editeur de Texte en Python Partie1
  69. Carnet d'adresse en Python
  70. Formation Python-partie1

Cours Java

Développement Web

  1. Introduction au langage HTML
  2. Structure d'un document HTML
  3. Mise en forme d’un document HTML
  4. Liens hypertexte
  5. Insertion d’images
  6. Les attributs de la balise BODY
  7. Les tableaux HTML
  8. Les listes HTML
  9. Les Frames HTML
  10. Les formulaires HTML
  11. Les caractères spéciaux HTML
  12. Ressources et références HTML
  13. Exercices HTML avec correction
  1. Introduction au langage CSS
  2. Propriétés d'un sélecteur
  3. La propriété Text CSS
  4. La propriété background CSS
  5. La propriété Font CSS
  6. La propriété border CSS
  7. Propriétés margin et padding
  8. Propriétés Height & Width
  9. Class et les ID CSS

Javascript Basique
  1. Introduction au langage Javascript
  2. Variables, fonctions et operateurs Javascript
  3. Les structures de contrôle et les boucles Javascript
  4. Les événements Javascript
  5. Le modèle Objet du Javascript
  6. L'objet array Javascript
Framework JQuery
  1. Introduction au Framework jQuery
  2. Premier pas avec le framework jQuery
  3. Les Sélecteurs jQuery
  1. Introduction au langage PHP
  2. Premier programme php
  3. Variables et Fonctions php
  4. Opérateurs arithmétiques et logiques
  5. Les structures de contrôle en php
  6. Les tableaux en php
  7. Control des formulaires en php
  8. Upload des fichiers en php
  9. Gestion des dossiers et des fichiers en php
  10. Colorisation syntaxique en php
  11. Cookies php
  12. Les variables globales php
  13. Sessions php
  14. Les variables php d’environnement
  15. Les classes et la poo php
  16. La librairie php_gd2 des images
  17. Lecture d’un fichier xml en php
  18. Les expressions régulières en php
  19. Moteurs de template php : smarty et fast temp…
  1. Langage MySql
  2. Introduction au langage MySql
  3. Installation du Serveur MySql
  4. Manipulation des bases de donnée MySql
  5. Manipulation desTables MySql
  6. Insértion de données MySql
  1. Installation Wordpress
  2. Modification du theme Wordpress
  3. Installation d'un plugin
  4. Gestion des catégories
  5. Gestion des articles
  6. Gestion des menus Wordpress
  7. Gestion des pages
  8. Gestion des Plugins
  9. Gestion des Widgets
  10. Gestion des Médias
  11. Gestion des commentaires
  12. Création formulaire de contact
  13. Outil Importation & exportation
  14. Gestion des extensions
  15. Réglage et paramètres
  1. Introduction à Joomla
  2. Installation Joomla
  3. Architecture de Joomla

TICE & Multimédias

Math Pour Informatique

Utilisateurs en ligne

Users: 6 Guests, 5 Bots

Annonces Google

Mini Python Project: Creating a text editor part1 Creating the system tree Before you start coding, you need to do a design of your system: 1. library: represents the directory of the system libraries (modules and classes). This directory contains an empty file called __init__.py that tells the Python interpreter that it is the directory of a module. 2. library.py: Represents the system library that will contain all the Python classes needed to run the system. 3. main.py: Represents the main file with which the system starts. This file contains very little code, usually the instances of the classes that are on the library library.  

1 –  Création de l’arborescence du système

Avant de commencer à coder, vous devez faire une conception de votre système. Nous vous proposons la suivante:

  1. library : représente le répertoire des librairies du système ( modules et classes). Ce répertoire contient un fichier vide nommé __init__.py qui indique à l’interpréteur de Python qu’il s’agit du répertoire d’un module.
  2. library.py : représente la bibliothèque du système qui va contenir toutes les classes Python nécessaire au fonctionnement du système.
  3. main.py : représente le fichier principal avec lequel démarre le système. Ce fichier ne contient que très peu de code, généralement les instances des classes qui se trouvent sur la bibliothèque library.py

2- Le code du fichier library.py

2.1 Importation de la bibliothèque tkinter

L’éditeur que nous souhaitons créer, manipule des objets graphique: fenêtres, boutons, labels, boite de dialogue…Pour cela nous devons importer une bibliothèque graphique. Nous utilisons la bibliothèque Tkinter pour ce projet:

from tkinter import * 
import os
savedFile = {1:""}

NB :

la troisième ligne nous permettra de stocker les objets files qui ne tiennent pas dans une instance de classe.

2.2-  Création de la classe principale du fichier library.py

from tkinter import *
import os
savedFile = {1:""}
class Win:     
    def __init__(self,master,content):
        # Fenêtre principale        
        self.master = master         
        # Main Text Widget
        self.content=content
    # Création de la fenêtre tkinter   
    def create(self):         
        self.master = Tk()         
        self.master.title("Editeur de Texte")         
        self.master.geometry("700x550")
    # Méthode qui ajoute la zone de texte                   
    def add_text(self):         
        self.content = Text(self.master)           
        self.content.pack(expand=1,fill='both')
    # Génération de la fenêtre principale             
    def generate(self):         
        self.master.mainloop()

2.3- Ajout des menus

Pour bien comprendre la méthode d’ajout des menus, veuillez réviser le tutoriel(page18) sur les menus. Nous passons directement au code qui permet d’ajouter  une méthode add_menu( ) qui permet de jouer l’affaire:

    def add_menu(self):         
        # 1 - Création de la barre des menus         
        menuBar = Menu(self.master)                  
        # 2 - Création du menu Fichier         
        menuFichier = Menu(menuBar,tearoff=0)         
        menuBar.add_cascade(label = "Fichier", menu=menuFichier)           
        # Création des sous menus du menu Fichier
        menuFichier.add_command(label="Nouveau", command=self.nouveau)          
        menuFichier.add_command(label="Ouvrir", command=self.fopen)         
        menuFichier.add_command(label="Enregistrer", command=self.save)         
        menuFichier.add_command(label="Enregistrer sous", command=self.saveAs)         
        menuFichier.add_command(label="Quitter", command = self.quitter)           
        self.master.config(menu = menuBar)                  
        #3 - Création du Menu Edition         
        menuEdition= Menu(menuBar,tearoff=0)         
        menuBar.add_cascade(label = "Edition ", menu=menuEdition)         
        menuEdition.add_command(label="Annuler")          
        menuEdition.add_command(label="Rétablir")                 
        menuEdition.add_command(label="Copier", command=self.copy)         
        menuEdition.add_command(label="Couper", command = self.cut)         
        menuEdition.add_command(label="Coller", command=self.past)                 
        #4 - Création du Menu Outils         
        menuOutils = Menu(menuBar,tearoff=0)         
        menuBar.add_cascade(label = "Outils", menu = menuOutils)         
        menuOutils.add_command(label="Préférences")                  
        # Création du Menu Aide         
        menuAide = Menu(menuBar,tearoff=0)         
        menuBar.add_cascade(label = "Aide", menu = menuAide)          
        menuAide.add_command(label="A propos")

2.4 – Ajout de commandes pour les  menus

Jusqu’à présent les menus crées ne sont pas fonctionnels, puisque nous leura avons pas encore crée des commandes ! Nous devons donc associer à  chaque menu une commande :

command = nom_de_la_commande

Nous devons ensuite créer une action pour chaque commande et qui porte le même nom :

def nom_de_la_commande():
        #code de l'action ici 

Code des actions des menus

#====================================== 
#  - Définition des actions des menus 
#====================================== 
#------------------------------ # 
 - actions du menu Fichier 
#-------------------------------     
   def quitter(self):         
       self.master.quit()     
   def nouveau(self):                  
       os.popen("python main.py")              
   def fopen(self):         
     file = self.master.filename =  filedialog.askopenfilename(initialdir = "/",title = "Select File",filetypes = (("Text Files","*.txt"),("all files","*.*")))     
      fp = open(file,"r")         
      r = fp.read()         
      self.content.insert(1.0,r) 
      # Menu Enregistrer sous  
   def saveAs(self):         
      # create save dialog         
     fichier=self.master.filename=filedialog.asksaveasfilename(initialdir =  "/",title = "Enregistrer Sous\         ",filetypes = (("Fichier Texte","*.txt"),  ("Tous les fichiers","*.*")))         
     fichier = fichier + ".txt" 
     # Utilisation du dictionnaire pour stocker le fichier                
     savedFile[1] = fichier         
     f = open(fichier,"w")         
     s = self.content.get("1.0",END)         
     f.write(s)          
     f.close()
     # menu Enregistrer
   def save(self):         
       if(savedFile[1] ==""):             
          self.saveAs()                     
       else:             
           f = open(savedFile[1],"w")             
       s = self.content.get("1.0",END)             
       f.write(s)              
       f.close()  
      #------------------------------ 
      #  - actions du menu Edition 
      #------------------------------     
   def copy(self):         
       self.content.clipboard_clear()          
       self.content.clipboard_append(self.content.selection_get())          
       def past(self):         
       self.content.insert(INSERT, self.content.clipboard_get())         
   def cut(self):         
       self.copy()         
       self.content.delete("sel.first","sel.last")    

Remarque

Les actions associées aux menus doivent être placées avant les fonctions qui définissent les menus

2.5- Code final du fichier library.py (Code sur pastbin )

# -*- coding: utf-8 -*- 
#------------------------------ 
# Author        : Y. DERFOUFI
# Author Title  : Professeur Agrégé de mathématiques & Docteur en Math-Informatiques
# Compagny      : CRMEF OUJDA 
#-----------------------------
from tkinter import *
import os
savedFile = {1:""}

#====================================== 
# 1 - Classe de la fenêtre pricipale 
#====================================== 
class Win:     
    def __init__(self,master,content):
        # Fenêtre principale        
        self.master = master         
        # Main Text Widget
        self.content=content
    # Création de la fenêtre tkinter   
    def create(self):         
        self.master = Tk()         
        self.master.title("Editeur de Texte")         
        self.master.geometry("700x550")
    # Méthode qui ajoute la zone de texte                   
    def add_text(self):         
        self.content = Text(self.master)           
        self.content.pack(expand=1,fill='both')
    # Génération de la fenêtre principale             
    def generate(self):         
        self.master.mainloop()

    #====================================== 
    #  2 - Définition des actions des menus 
    #====================================== 
    #------------------------------
    # 2.1 - actions du menu Fichier 
    #-------------------------------     
    def quitter(self):         
        self.master.quit()     
    def nouveau(self):                  
        os.popen("python main.py")              
    def fopen(self):         
      file = self.master.filename =  filedialog.askopenfilename(initialdir = "/",title = "Select File",filetypes = (("Text Files","*.txt"),("all files","*.*")))     
      fp = open(file,"r")         
      r = fp.read()         
      self.content.insert(1.0,r) 
      # Menu Enregistrer sous  
    def saveAs(self):         
       # create save dialog         
       fichier=self.master.filename=filedialog.asksaveasfilename(initialdir =  "/",title = "Enregistrer Sous\         ",filetypes = (("Fichier Texte","*.txt"),  ("Tous les fichiers","*.*")))         
       fichier = fichier + ".txt" 
       # Utilisation du dictionnaire pour stocker le fichier                
       savedFile[1] = fichier         
       f = open(fichier,"w")         
       s = self.content.get("1.0",END)         
       f.write(s)          
       f.close()
       # menu Enregistrer
    def save(self):         
        if(savedFile[1] ==""):             
           self.saveAs()                     
        else:             
            f = open(savedFile[1],"w")             
        s = self.content.get("1.0",END)             
        f.write(s)              
        f.close()  
    #------------------------------ 
    # 2.2 - actions du menu Edition 
    #------------------------------     
    def copy(self):         
        self.content.clipboard_clear()          
        self.content.clipboard_append(self.content.selection_get())          
        def past(self):         
        self.content.insert(INSERT, self.content.clipboard_get())         
    def cut(self):         
        self.copy()         
        self.content.delete("sel.first","sel.last")

    #====================================== 
    #  2 - Méthodes d'ajout des menus 
    #======================================
    def add_menu(self):         
        # 1 - Création de la barre des menus         
        menuBar = Menu(self.master)                  
        # 2 - Création du menu Fichier         
        menuFichier = Menu(menuBar,tearoff=0)         
        menuBar.add_cascade(label = "Fichier", menu=menuFichier)           
        # Création des sous menus du menu Fichier
        menuFichier.add_command(label="Nouveau", command=self.nouveau)          
        menuFichier.add_command(label="Ouvrir", command=self.fopen)         
        menuFichier.add_command(label="Enregistrer", command=self.save)         
        menuFichier.add_command(label="Enregistrer sous", command=self.saveAs)         
        menuFichier.add_command(label="Quitter", command = self.quitter)           
        self.master.config(menu = menuBar)                  
        #3 - Création du Menu Edition         
        menuEdition= Menu(menuBar,tearoff=0)         
        menuBar.add_cascade(label = "Edition ", menu=menuEdition)         
        menuEdition.add_command(label="Annuler")          
        menuEdition.add_command(label="Rétablir")                 
        menuEdition.add_command(label="Copier", command=self.copy)         
        menuEdition.add_command(label="Couper", command = self.cut)         
        menuEdition.add_command(label="Coller", command=self.past)                 
        #4 - Création du Menu Outils         
        menuOutils = Menu(menuBar,tearoff=0)         
        menuBar.add_cascade(label = "Outils", menu = menuOutils)         
        menuOutils.add_command(label="Préférences")                  
        # Création du Menu Aide         
        menuAide = Menu(menuBar,tearoff=0)         
        menuBar.add_cascade(label = "Aide", menu = menuAide)          
        menuAide.add_command(label="A propos")

3-  Code du fichier principal main.py (Code sur pastbin)

# -*- coding: utf-8 -*-
# Importation des bibliothèques nécessaires
from tkinter import * 
from tkinter import filedialog 

# Importation du module library.py
from library.library import*

# Création du dictionnaire qui stock les objets files
savedFile = {1:""} 

# Création d'une instance sur la classe principale
root = Win("root","c")

# Appel des méthodes qui créent l'objet fenêtre avec tous ces composants
root.create() 
root.add_text() 
root.add_menu() 
root.generate()

4 – Aperçu de l’éditeur

Si vous avez bien codé votre système et que tout va bien, voici l’aperçu de votre petit éditeur de texte :

 

Télécharger le projet

 

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.