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 :

Bogue d'affichage avec Qt 4.8 ?


Sujet :

PyQt Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Février 2011
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 8
    Par défaut Bogue d'affichage avec Qt 4.8 ?
    Bonjour,
    avec Qt 4.8, j'ai un bug d'affichage concernant les QTableView que je n'ai pas avec Qt 4.7.

    Dès qu'une ligne est supprimée, l'affichage de la colonne des titres de lignes est définitivement altéré.
    On dirait que QTableView.verticalHeader n'est plus mis à jour.

    J'ai fait des tests avec PyQt et PySide, tant avec Python 2.7 que Python 3.1.
    Je suis sous GNU/Linux mais j'ai aussi testé sur un poste Windows avec les mêmes résultats

    La seule solution que j'ai trouvée pour l'instant est de recréer le QTableView, mais ce n'est pas satisfaisant.

    Voici 2 images montrant la chose :




    et le programme test que j'ai fait pour ça (fonctionne avec PyQt, PySide, Python 2.x ou 3.x) :

    http://pascal.peter.free.fr/000/temp/tableViewBug.py

    Remarque :
    j'ai trouvé le même problème avec l'exemple "ships-model.pyw" du chapître 14 du livre "Rapid GUI Programming" ou dans l'exemple "chart.py" de la doc PyQt (après ouverture d'un fichier plus petit)

    Alors c'est quoi ma question mes questions ?

    d'une part, j'aimerais bien que quelqu'un me confirme ce bug ou corrige mon code s'il y a une modification liée à Qt 4.8 que je n'ai pas trouvée

    d'autre part, je ne suis pas apte à faire un code équivalent en C pour vérifier ce que je soupçonne, à savoir que le problème n'est pas dans PyQt ou PySide, mais dans Qt 4.8. Donc difficile de vérifier sans cela, ni de signaler le problème dans la partie Qt où j'ai peur de me faire envoyer paître avec mon code Python.

    enfin j'aimerais bien faire un rapport de bug, mais je suis une bille en Anglais (disons que j'arrive à le lire, mais écrire c'est bien autre chose)

    donc je viens ici chercher de l'aide désespérément...

    O-
    EdLeH

  2. #2
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    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 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Je viens d'essayer sur un Windows XP avec: Python v3.2, PyQt4 v4.9.1, Qt v4.8.0 (le Qt installé avec le PyQt4): aucun problème avec ton programme. Les lignes se laissent supprimer sans problème d'affichage.

    Au cas où, essaie de mettre, après la suppression de la ligne, un:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QtCore.QCoreApplication.processEvents()
    Cela permet de forcer le rafraichissement de la fenêtre.

  3. #3
    Membre régulier
    Inscrit en
    Février 2011
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 8
    Par défaut
    le processEvents ne change rien chez moi (sniff).
    Demain je testerai sur un xp avec les mêmes versions que toi.

    En attendant, j'adapte mon vrai logiciel (VÉRAC) à ma solution de contournement.

    Sinon, j'ai remarqué que ce bug ne concerne que les QTableView (pour l'instant), surtout pour les "verticalHeader" (ce qui me gène le plus), mais aussi un peu pour les ascenseurs (moins gènant car ils fonctionnent tout de même).

    O-

  4. #4
    Membre régulier
    Inscrit en
    Février 2011
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 8
    Par défaut
    bonjour,

    j'ai pu prendre le temps de faire des tests plus complets sur un poste xp avec 3 versions différentes :

    1. python-2.6.2.msi + PyQt-Py2.6-gpl-4.7.3-2.exe : pas de bug
      c'est une vieille version avec Qt 4.6.2 que j'avais sous la main
    2. python-3.2.2.msi + PyQt-Py3.2-x86-gpl-4.9.1-1.exe : pas de bug
      c'est la même version que toi
    3. python-2.7.2.msi + PyQt-Py2.7-x86-gpl-4.9-1.exe : BUG
      c'est la version actuelle pour Python 2.x et PyQt


    une image de ce que ça donne avec la troisième version après avoir cliqué sur le bouton "RemoveRowBug" :



    O-

  5. #5
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    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 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Par curiosité, j'en ai profité pour moderniser mon Python 2.7 sous Windows 7 sur un portable, qui est maintenant comme ta 3ème configuration:

    - python-2.7.2.msi
    - PyQt-Py2.7-x86-gpl-4.9.1-1.exe (Qt 4.8.0)

    Résultat des courses: aucun problème avec ton programme, sans aucun modification. J'ai essayé de nombreuses suppressions et insertions de lignes. J'ai par ailleurs un gros programme qui utilise beaucoup les QTableView: aucun problème non plus.

    N'y aurait-il pas plutôt un problème de carte graphique?

  6. #6
    Membre régulier
    Inscrit en
    Février 2011
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 8
    Par défaut
    Bonjour,

    mon problème est résolu par le passage à Qt 4.8.1

    O-

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

Discussions similaires

  1. problème d'affichage avec printf
    Par sorari dans le forum C++
    Réponses: 12
    Dernier message: 08/03/2005, 18h30
  2. Réponses: 6
    Dernier message: 19/10/2004, 13h46
  3. Resolution d'affichage avec x11
    Par cosmos38240 dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 06/06/2004, 23h26
  4. Pb affichage avec un PaintBox (pour eviter scintillement)
    Par juan64 dans le forum C++Builder
    Réponses: 7
    Dernier message: 08/04/2004, 09h21
  5. Problème d'affichage avec trace
    Par WriteLN dans le forum Flash
    Réponses: 10
    Dernier message: 22/10/2003, 16h59

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