Tkinter - TP 2

Création d'une application graphique autonome.

Objectif : utilisation de nouveaux widgets, structuration d'une GUI.

image1

  • créez une petite application constituée d'une barre de menu (en haut) comportant le bouton Fichier (avec les entrées Nouveau, Ouvrir, Sauver, Quitter), d'une zone d'affichage graphique (canvas) et enfin d'une zone d'affichage d'une seule ligne de texte (label) qui jouera le rôle de barre d'état :

    • l'entrée Nouveau doit effacer le contenu de la fenêtre graphique,
    • l'entrée Ouvrir doit faire appel à une liste de proposition de choix d'un fichier (voir tkFileDialog) et le nom du fichier selectionné doit s'afficher dans le label
    • l'entrée Sauver doit être inaccessible (grisée) tant qu'aucun objet n'a été créé,
    • l'entrée Quitter doit demander confirmation dés qu'un objet graphique a été créé.
  • permettez la saisie d'une trace à "main levée" dans le canvas, cette saisie se faisant par la combinaison de la touche Ctrl et du bouton gauche de la souris. L'objet géométrique crée doit être une ligne brisée (create_line) de couleur noire.

    L'utilisation conjointe de la méthode coords du canvas et de la fonction _flatten du module tkinter (exemple : tk._flatten([1,2,3]) retourne (1,2,3)) permet de résoudre aisément cette fonctionnalité.

    Lorsque le curseur souris passe sur cette trace (voir tag_bind), celle-ci doit changer de couleur (rouge par exemple) et la barre d'état doit afficher l'ID de l'objet graphique. L'appui du bouton 1 de la souris sur cette trace doit permettre de la déplacer (move). S'éloigner de la trace doit la remettre à sa couleur d'origine.

  • si au moins une trace a été faite, l'entrée Sauver doit être accessible et son choix doit permettre de sauver les traces construites (voir coords) ; le choix de l'entrée Ouvrir doit maintenant permettre de reconstituer le dessin sauvegardé (après demande de sauvegarde d'un dessin déjà présent) ; quitter l'application doit dépendre d'une demande de confirmation.

  • ajoutez à votre application un bouton Aide, aligné à droite dans la barre des menus, qui ouvrira une fenêtre d'aide en ligne, en mode hypertexte (text). Elle donnera, entre autre, des informations sur l'application ainsi que sur son auteur (générez quelques hyperliens).