IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Taille de la fenêtre turtle


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2013
    Messages : 35
    Par défaut Taille de la fenêtre turtle
    Bonjour à tous,
    je débute en python et j'ai un petit soucis avec le module Turtle.

    j'ai un grand dessin à faire dans la fenêtre et je n'arrive pas à visualiser puisque ma petite tortue sort du cadre de la fenêtre.
    J'ai modifié la taille de la fenêtre avec l'instruction

    turtle.setup(width=2000,height=2000)

    La taille de la fenêtre augmente mais elle est supérieure à la taille de l'écran et je ne peux pas me déplacer à l'intérieur. J'aimerais avoir un ascenseur qui me permette de me déplacer dans cette grande fenêtre. Est-ce possible ? Et si oui comment faire ?

    Merci d'avance pour vos réponses.

    Bonne fin de journée à tous !

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,
    vous devriez pouvoir vous en sortir en décomposant ainsi::
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    >>> import tkinter as tk
    >>> import turtle
    >>> app = tk.Tk()
    >>> cv = turtle.ScrolledCanvas(app)   
    >>> cv.pack()
    >>> screen = turtle.TurtleScreen(cv)
    >>> screen.screensize(1500, 1500)   
    >>> t = turtle.RawTurtle(screen)
    En gros, le terrain de jeu (TurtleScreen) de la turtle est un ScrolledCanvas.
    screen.screensize(1500, 1500) fait que ce qui est affiche par le Canvas n'est qu'un /viewport/ du canvas /reel/.
    Et a ce moment la, les "ascenseurs" font sens.

    Bon courage,
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2013
    Messages : 35
    Par défaut
    Trop fort !
    C'est exactement ce que j'espérais, merci beaucoup !

  4. #4
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2013
    Messages : 35
    Par défaut
    Re bonjour,
    j'ai quand même un petit souci, si j'ajoute une commande de dessin à la suite de code du genre forward(100), une nouvelle fenêtre graphique s'ouvre dans laquelle s'execute la commande.
    Pour que ca se fasse dans la fenêtre que je veux, il faut que j'écrive t.forward(100) ce qui n'est pas pratique pour moi puisque mo script fait appel à des fonctions de dessin. Est-ce qu'on peut contourner ce probleme ?

    Autre question en lien. Je voudrais pouvoir imprimer le dessin obtenu, j'arrive à l'enregistrer au format .eps mais qui n'est pas très facile à manipuler par la suite. Est-ce qu'on peut enregistrer le dessin obtenu dans un format plus classique, genre jpg ou même pdf ?


    Merci et bonne journée à tous, HT

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par HelloThury Voir le message
    Pour que ca se fasse dans la fenêtre que je veux, il faut que j'écrive t.forward(100) ce qui n'est pas pratique pour moi puisque mo script fait appel à des fonctions de dessin. Est-ce qu'on peut contourner ce probleme ?
    oui mais ce n'est pas très propre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >>> import tkinter as tk
    >>> import turtle
    >>> app = tk.Tk()
    >>> cv = turtle.ScrolledCanvas(app)
    >>> cv.pack()
    >>> screen = turtle.TurtleScreen(cv)
    >>> turtle.Turtle._screen=screen
    >>> t = turtle.Turtle()
    >>> from turtle import forward
    >>> forward(10)
    >>> exit()
    Est-ce qu'on peut enregistrer le dessin obtenu dans un format plus classique, genre jpg ou même pdf ?
    En programmation on peut (presque) tout faire.
    Par contre, turtle s'appuie sur le canvas Tk qui ne connaît que la méthode .postscript. Pour améliorer cela, on pourrait ajouter(*) une méthode .save_as qui propose la sélection d'un fichier de sortie (et d'une extension qui indique le format) et se charge de faire une copie de ce qui est affiche sur le Canvas dans le format voulu.
    (*) on sous/classe quoi.

    Ça c'est pour la carcasse, après il faut mettre de la viande autour... pour réaliser "copier ce qui est afficher dans le format voulu"... certes!
    Mais quel format:
    • svg: il devrait exister des bibliothèques,
    • jpg, gif,... : PIL sait faire ça
    • ...

    Pour voir "comment", vous avez:
    • les mots clés: python, tkinter, canvas jpq,...
    • le bouton recherche pour voir les posts qui parlent de...
    • Google est aussi un ami (dans ce cas la),
    • ... poster une autre question dans les forums...

    En plus avec Google, ca fait des coups de clics qui vont dans le bon sens de l'audience Python cote indice TIOBE and Co.
    Je sais tout le monde s'en fout... mais c'est toujours un (tout petit) plaisir de voir monter le nombre de XXXX relatifs a Python.

    A vous de voir.

    Bon courage,
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2013
    Messages : 35
    Par défaut
    Merci pour ces réponses, en tant que grand néophyte je sens que je vais galérer mais c'est comme ça aussi qu'on apprend !
    Bonne journée, HT

Discussions similaires

  1. [JFrame] Taille de la fenêtre complète (avec titre et bordures)
    Par RXN dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 23/09/2005, 23h35
  2. Réponses: 2
    Dernier message: 14/06/2005, 16h14
  3. Réponses: 7
    Dernier message: 07/06/2004, 10h42
  4. [Débutant] Trouvez la taille d'une fenêtre
    Par Sharukh Khan dans le forum MFC
    Réponses: 6
    Dernier message: 06/06/2004, 22h23
  5. Modifier la taille de la fenêtre DOS
    Par bobgeldof7 dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 31/01/2004, 03h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo