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

Tkinter Python Discussion :

comment imprimer le contenu d'un canevas?


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 32
    Par défaut comment imprimer le contenu d'un canevas?
    bjr,

    je voudrais imprimer le contenu d'un canevas,est-ce possible?
    Est-il possible également d'éditer le contenu d'un canevas sous word?

    merci d'avance pour votre aide.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 32
    Par défaut
    en fait mon idée de base n'est pas la bonne
    donc je reformule ma question,
    Est-il plutot possible d'inserer un canevas dans un widget text pour que je puisse
    imprimer le contenu du text car le canevas contient des boutons placés par coordonnées?

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 222
    Par défaut
    Je ne vois pas l'intérêt de mettre un Canvas dans un widget Text.
    A ma connaissance Tkinter ne permet pas l'impression (il existe peut être un module additionnel).
    Si tu veux imprimer du texte, il faut d'abord le récurer avec la méthode get() de la classe Text.
    Ensuite tu as plusieurs solutions:
    Si tu es sur windows tu as le module win32print.
    Tu peux aussi utiliser le module HtmlEasyPrinting de wxpython. Je n'ai jamais essayé mais ça à l'air très simple d'utilisation.
    Tu as aussi le module QPrinter de pyqt.

    Il y a certainement beaucoup d'autre solutions. voici quelques liens:
    http://timgolden.me.uk/python/win32_how_do_i/print.html
    http://wiki.wxpython.org/Printing
    http://qt.developpez.com/doc/4.3/printing/

  4. #4
    Membre chevronné
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Mai 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 290
    Par défaut
    Bonjour,
    C'est un sujet déjà évoqué. On peut créer un fichier postscript depuis un canvas.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 32
    Par défaut
    Merci pour toutes ces précisions,je suis allé jeter un oeil à toutes ces ressources sans trouver de réponse qui me convienne.
    Je vais essayer d'expliquer ce que je recherche:
    -J'ai des canevas qui contiennent des images,sur ces images(dans le canevas)
    j'ajoute des boutons qui sont placés en fonction de coordonnés recuperées dans une database.
    un click sur un bouton(numéroté)affiche des informations dans un topleve().

    -je voudrais imprimer un rapport qui contient chaque images avec les boutons
    avec sous chaque images les infos récupérées dans la db sous forme de texte ou widget label,ce qui bloque c'est surtout le fait de vouloir imprimer un widget canvas qui contient d'autre widget.
    merci pour votre aide car je suis completement bloqué.

  6. #6
    Membre chevronné
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Mai 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 290
    Par défaut
    Dans ce cas, tu devrais créer une image contenant ton canvas et tous les widgets.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    from PIL import ImageTk,ImageGrab
    from Tkinter import *
     
    def save_image():
        x = can.winfo_rootx()
        y = can.winfo_rooty()
        w = can.winfo_width()
        h = can.winfo_height()
        image=ImageGrab.grab((x+2, y+2, x+w-2, y+h-2))
        image.save("tmp.bmp")
     
    root=Tk()
    can=Canvas(root,width=100,height=100)
    can.pack()
    mon_image=ImageTk.PhotoImage(file='test.jpg')
    can.create_image(100,100,image=mon_image)
    b=Button(can,text="bouton",command=save_image)
    can.create_window((50,50),window=b)
     
    root.mainloop()

Discussions similaires

  1. Comment Imprimer le contenu d'une DataGridView?
    Par Abdelkabir dans le forum VB.NET
    Réponses: 2
    Dernier message: 08/03/2007, 18h06
  2. Comment imprimer le contenu de mon container
    Par JavaChouke dans le forum Langage
    Réponses: 1
    Dernier message: 22/11/2006, 12h36
  3. [c#] Comment imprimer le contenu dune listbox dans un fichier
    Par Clarissa2006 dans le forum Windows Forms
    Réponses: 14
    Dernier message: 24/06/2006, 18h21
  4. [Delphi 6] Comment imprimer le contenu d'un TStringGrid ?
    Par bobstar dans le forum Composants VCL
    Réponses: 6
    Dernier message: 22/09/2005, 18h43
  5. Comment imprimer le contenu d'un TStringGrid
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 19/06/2002, 15h41

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