Texte format avec option python

HowTo Texte format avec option python

  •  Thread starter
  •  Admin
  • Objectif

    Créer un programme Python qui utilise Tkinter pour créer une interface graphique permettant de formater un texte.

    Ce script propose des options pour supprimer des caractères, supprimer des espaces en début de ligne, mettre une majuscule en début de phrase et inclure un bouton pour copier le texte formaté.

    Le code que nous allons utiliser :

    Python:
    import tkinter as tk
    from tkinter import messagebox
    
    def format_text():
        # Récupérer le texte de l'entrée
        original_text = text_input.get("1.0", tk.END)
        
        # Supprimer des caractères
        if remove_chars_var.get():
            characters_to_remove = chars_entry.get()
            for char in characters_to_remove:
                original_text = original_text.replace(char, "")
        
        # Supprimer les espaces en début de ligne
        if remove_spaces_var.get():
            formatted_text = "\n".join([line.lstrip() for line in original_text.splitlines()])
        else:
            formatted_text = original_text
        
        # Mettre une majuscule en début de phrases
        if capitalize_var.get():
            formatted_text = '. '.join(sentence.capitalize() for sentence in formatted_text.split('. '))
        
        # Afficher le texte formaté
        text_output.delete("1.0", tk.END)
        text_output.insert(tk.END, formatted_text)
    
    def copy_to_clipboard():
        formatted_text = text_output.get("1.0", tk.END)
        root.clipboard_clear()
        root.clipboard_append(formatted_text.strip())
        messagebox.showinfo("Copie", "Le texte formaté a été copié dans le presse-papiers.")
    
    # Création de la fenêtre principale
    root = tk.Tk()
    root.title("Formateur de Texte")
    
    # Zone d'entrée pour le texte
    text_input = tk.Text(root, height=10, width=50)
    text_input.pack(padx=10, pady=10)
    
    # Options pour formater le texte
    remove_chars_var = tk.BooleanVar()
    remove_spaces_var = tk.BooleanVar()
    capitalize_var = tk.BooleanVar()
    
    chars_label = tk.Label(root, text="Caractères à supprimer :")
    chars_label.pack()
    
    chars_entry = tk.Entry(root)
    chars_entry.pack(padx=10)
    
    remove_chars_check = tk.Checkbutton(root, text="Supprimer les caractères", variable=remove_chars_var)
    remove_chars_check.pack()
    
    remove_spaces_check = tk.Checkbutton(root, text="Supprimer les espaces en début de lignes", variable=remove_spaces_var)
    remove_spaces_check.pack()
    
    capitalize_check = tk.Checkbutton(root, text="Mettre une majuscule en début de phrases", variable=capitalize_var)
    capitalize_check.pack()
    
    # Bouton pour formater le texte
    format_button = tk.Button(root, text="Formater le texte", command=format_text)
    format_button.pack(pady=5)
    
    # Zone pour afficher le texte formaté
    text_output = tk.Text(root, height=10, width=50)
    text_output.pack(padx=10, pady=10)
    
    # Bouton pour copier le texte formaté
    copy_button = tk.Button(root, text="Copier le texte formaté", command=copy_to_clipboard)
    copy_button.pack(pady=5)
    
    # Démarrer la boucle principale
    root.mainloop()

    Instructions

    1. Assurez-vous d'avoir Python installé sur votre machine.

    2. Copiez le code ci-dessus et collez-le dans un fichier nommé `formateur_de_texte.py`.

    3. Exécutez le script en utilisant la commande suivante dans votre terminal ou invite de commande :

    Bash:
       python formateur_de_texte.py

    4. Une interface graphique s'ouvrira. Vous pourrez y entrer votre texte, sélectionner les options de formatage, et copier le texte formaté dans le presse-papiers.

    Fonctionnalités

    Supprimer des caractères :

    Vous pouvez spécifier les caractères à supprimer dans le champ de texte.

    Supprimer les espaces en début de ligne :

    Cette option permet de s'assurer qu'aucun espace inutile ne se trouve au début des lignes dans le texte.

    Mettre une majuscule en début
    de phrases :


    Cela mettra en majuscule le premier mot de chaque phrase.

    Copie du texte formaté :

    Plus besoin de sélectionner le texte, un simple clic sur le bouton copiera le texte formaté dans le presse-papiers.

    N'hésitez pas à adapter ce code pour répondre à vos besoins spécifiques !

    EnjoyCoding 😃
     
    Back
    Top