Imprimer avec pyQt [RESOLU] - Python - Programmation
Marsh Posté le 24-02-2008 à 14:07:14
Salut,
As-tu déjà lu la page Printing with Qt? Ca devrait répondre à tes 2 questions
Marsh Posté le 24-02-2008 à 17:31:33
IrmatDen a écrit : Salut, |
Ben oui car c'est là que j'ai trouvé le 3° exemple que j'ai tapé. En fait, il me manque diverses étapes qui sont
- création du fichier (est-ce à moi de le faire ou bien Qt m'offre-t-il un outil pour ça)
- association entre le QPrinter et le QPrintDialog. Comment envoyer le fichier dans l'imprimante sélectionnée. Faut-il d'abord le convertir en un format adapté à l'imprimante ou bien est-ce elle qui s'occupe de tout.
Bref il me manque la façon de combler le vide entre ces outils. Et je ne trouve aucun exemple dans les exemples Qt...
[EDIT] Je crois que je viens de comprendre => Il me faut un QTextDocument et appeler la méthode "print()" en y passant le printer en paramètre...
Code :
|
Je pense que je tiens le bon bout...
Marsh Posté le 25-02-2008 à 00:31:00
Sve@r a écrit : - création du fichier (est-ce à moi de le faire ou bien Qt m'offre-t-il un outil pour ça) |
Qt peut s'en occuper pour toi. En se référant à la doc de QPrinter::setOutputFileName tu verras que Qt choisis automatiquement le format si possible:
Sve@r a écrit : - association entre le QPrinter et le QPrintDialog. Comment envoyer le fichier dans l'imprimante sélectionnée. Faut-il d'abord le convertir en un format adapté à l'imprimante ou bien est-ce elle qui s'occupe de tout. |
Un QPrinter est un QPaintDevice; tu peux l'utiliser conjointement avec QPainter pour dessiner dessus ce que tu veux. Pour QPrintDialog et QPrinter, QPrintDialog::QPrintDialog prend un QPrinter en paramètre pour que tu n'ais pas à faire correspondre chaque paramètre à la main.
Sve@r a écrit : Bref il me manque la façon de combler le vide entre ces outils. Et je ne trouve aucun exemple dans les exemples Qt... |
<Qt>/demos/textedit/textedit.cpp en illustre une utilisation "basique", c'est à dire en utilisant la méthode que tu utilises, à savoir passer par un QTextDocument:
Code :
|
Sve@r a écrit : [EDIT] Je crois que je viens de comprendre => Il me faut un QTextDocument et appeler la méthode "print()" en y passant le printer en paramètre...
|
Effectivement
N'oublie pas que tu peux utiliser un certain subset des balises html pour faire de la mise en page pas trop complexe
Marsh Posté le 29-02-2008 à 16:20:44
IrmatDen a écrit :
|
Compris !
IrmatDen a écrit :
|
Oui, effectivement c'est là dessus que je me suis basé pour comprendre comment ça marchait...
IrmatDen a écrit : |
Merci à toi
Marsh Posté le 24-02-2008 à 13:50:35
Bonjour
Je suis en phase de développement d'un petit projet Python/PyQt et j'arrive à la partie impression. Là, je me trouve confronté à un petit problème. Comment imprimer
En fouillant internet, je suis arrivé à ce super article http://www.openvet.org/files/impre [...] python.pdf Il donne divers exemples dont ce premier
Exemple sympa qui m'envoie 3 lignes sur mon imprimante.
Ensuite je tombe sur celui-là (mais qui ne fonctionne pas à cause de "Word.Application.9" qui a peut-être changé) .
Puis l'article parle de wxpython qui gère aussi les impressions donc je me dis qu'il doit y avoir un truc équivalent avec Qt et j'arrive sur le QPrinter et le QPrintDialog. Je tape rapido le code suivant
Qui me montre une superbe fenêtre de choix d'imprimante. Ensuite ben là il me manque plusieurs étapes
Je sens que je suis pas loin de la soluce mais si qqun pouvait me donner un coup de pouce ce serait sympa.
Voilà.
Message édité par Sve@r le 29-02-2008 à 16:19:13
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.