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

PyQt Python Discussion :

Crash avec "Print" de QPrintPreviewDialog [QtGui]


Sujet :

PyQt Python

  1. #1
    Membre actif
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 330
    Points : 207
    Points
    207
    Par défaut Crash avec "Print" de QPrintPreviewDialog
    Bonjour à tous,

    J'utilise Python 2.7.5 avec PySide 1.2.1. Je développe sur Eric4 4.5.13 (r4486).

    J'ai une exception qui est levée lorsque j'appuie sur le bouton "Print" d'un QPrintPreviewDialog. J'ai 2 messages :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Open File - The file os_integration\windows\icon_overlay.pyc could not be opened
    Puis, après avoir appuyé sur OK.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eric4 - The debugged program raised the exception unhandled ImportError "No module named shell" File : os_integration\windows\icon_overlays.pyc, Line: 5
    Voici le code du programme incriminé :
    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
    21
    22
    23
    24
    25
    26
     
    #!/usr/bin/python
    # -*- coding: ISO-8859-1 -*-
     
    import sys
    from PySide import *
     
    class Report(QtGui.QFrame):
        '''  '''
        def __init__(self):
            super(Report, self).__init__()
            document = QtGui.QTextDocument()
            cursor = QtGui.QTextCursor(document)
            cursor.insertText("Titre de l'état")
            dialog = QtGui.QPrintPreviewDialog()
            dialog.paintRequested.connect(document.print_)
            dialog.exec_()        
     
    def main():
        app = QtGui.QApplication(sys.argv)
        frame = Report()
        frame.show()
        sys.exit(app.exec_())
     
    if __name__ == '__main__':
        main()
    J'ai fait pas mal de recherche sur internet, mais je n'ai vraiment pas trouvé grand chose ...
    Quelqu'un aurait-il une piste pour débloquer ce problème ?
    Je vous en remercie par avance.
    Cordialement,

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 302
    Points : 6 782
    Points
    6 782
    Par défaut
    Salut,

    Est-ce que ce problème n'existe que lorsque le programme est lancé depuis Eric4 ?

    Il arrive que le debugger d'Eric4 fasse des siennes.

  3. #3
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 480
    Points : 9 277
    Points
    9 277
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Comme le dit VinsS, ça doit être eric, parce que le programme fonctionne très bien chez moi (j'ai simplement importé PyQt4 à la place de PySide).

    J'ai essayé plusieurs fois eric et je l'ai abandonné pour ce genre de raison: quand ça plante, je veux être sûr que c'est mon programme, et pas l'outil de développement.

  4. #4
    Membre actif
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 330
    Points : 207
    Points
    207
    Par défaut
    Bonjour,
    Merci à vous 2 pour vos remarques judicieuses. J'aurais dû y penser
    Effectivement tout fonctionne bien en dehors de Eric.
    Questions subsidiaires :
    Y a-t-il un moyen de contourner ce problème en continuant d'utiliser Eric (changement de version ou autres ...) ?
    Le cas échéant, que me conseillez vous comme outil de développement d'équivalent à Eric ?
    Merci d'avance pour vos précieuses informations.

    Pythoneuses salutations

  5. #5
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut


    Je ne sais pas ce que VinsS va te proposer, mais je suis prêt à parier que Tyrtamos va te proposer PyDev .

    Pour ma part, ayant utilisé & ecrit sur Eric et Qt Creator, je peux te garantir que tu ne sera pas déçue avec ce dernier.

    Avoir Qt Designer et l'éditeur de code dans le même outils c'est top... et puis si un jour tu veux passer à Qt Quick, tu seras armées comme pas possible

    Bon courage à toi.

    ++

    J

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 302
    Points : 6 782
    Points
    6 782
    Par défaut
    Moi, je commencerai par le reporter.

    http://die-offenbachs.homelinux.org:48888/issues/

    Je n'y ai rien vu de récent ressemblant à ta description.

  7. #7
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 480
    Points : 9 277
    Points
    9 277
    Billets dans le blog
    6
    Par défaut
    Bonjour Jiyuu,

    Citation Envoyé par Jiyuu Voir le message
    ... mais je suis prêt à parier que Tyrtamos va te proposer PyDev . ...
    Ce n'est pas la peine: tu viens de le faire

  8. #8
    Membre actif
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 330
    Points : 207
    Points
    207
    Par défaut
    Merci à Tous pour vos conseils éclairés :
    - Je vais poster le "problème" sur le site de Eric ...
    - Concernant l'outil de développement et sans revenir sur des débats qui ont certainement déjà eu lieu, quels sont les atouts des principales solutions proposées à savoir Qt Creator, PyDev et Eric.

    - Eric me parait (me paraissait ... ?) une bonne idée et spécialement adapté pour le développement en Python.
    - Qt Creator (que je ne connaissais pas et que je viens d'installer !) est, apparemment, plutôt destiné aux programmes en C++. Y a-t-il un debugger adapté pour Python ? Quel est sa valeur ajoutée par rapport aux autres outils ?
    - PyDev associé à Eclipse est, apparemment, beaucoup utilisé et permet d'avoir un outil de développement commun à plusieurs langages et types de développement (Java, Android, Python, ...). Mais on dit qu'il est lent ...

    Qu'en pensez-vous ?
    Merci @+

  9. #9
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut


    Le gros avantage que je vois à Eric c'est la possibilité d'attribuer quasi automatiquement de slots aux différents widgets créés via Designer. Le hic c'est qu'il n'intègre pas ce dernier et sauf erreur de ma part il n'est pas compatible avec PyQt 5.

    Concernant PyDev, Tyrtamos pourra t'en parler bien me que moi mais son autre atout est la gestion multiprojets je crois.

    Concernant Qt Creator cest pour moi le must du must mais ceci est surtout du au fait que je ne code plus qu'en Python + Qml (en gros ce que j'aime à appeler PyQt Quick ).
    Au delà de ça tu as aussi le Designer d'intégré et il est évidemment compatible avec python (depuis sa version 2.8). Il reconnaît aussi beaucoup d'autres langages. Seul point noir à mon goût : je n'ai pas encore trouvé le moyen d'ajouter un script Python à un projet. En gros tu le voix dans l'arborescence du dossier dans lequel tu te trouves mais pas dans celle du projet. Tu peux aussi gérer plusieurs projets.

  10. #10
    Membre actif
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 330
    Points : 207
    Points
    207
    Par défaut
    Merci Jiyuu pour tes avis et conseils.
    Y a-t-il moyen de lancer un mode Debug d'un code Python avec Qt Creator (j'ai téléchargé la version 3.0.0) ?
    Merci à toi

  11. #11
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut
    Si tu regardes le lien que je t'ai donné tu y trouveras de quoi programmer l'interface graphique de debogage. Il y avoir beaucoup d'autres fonctionnalités mais je t'avoue ne pas être allez plus loin dans son utilisation avec Python.

  12. #12
    Membre actif
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 330
    Points : 207
    Points
    207
    Par défaut
    Merci à tous.
    Je vais creuser tout ça !
    @+

+ Répondre à la discussion
Cette discussion est résolue.

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