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

Discussion :

Problème affichage dans QScrollArea

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par défaut Problème affichage dans QScrollArea
    Bonsoir,

    J'ai un petit problème pour l'affichage de ma liste de points dans un dock de ma fenêtre principale.

    Etant donné que l'ajout d'un certain nombre de points entraîne un affichage trop dense, j'ai besoin de rajouter une barre de défilement. J'ai donc maitnenant :

    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
    QDockWidget *dockFigures = new QDockWidget("Liste des points", this);
        addDockWidget(Qt::LeftDockWidgetArea, dockFigures);
     
    // Déclaration d'un conteneur pour dockFigures :
            QWidget *contenuDockFigures = new QWidget;
            contenuDockFigures->setFixedWidth(200);
            dockFigures->setWidget(contenuDockFigures);
     
                // Création d'un layout pour le conteneur :
                QVBoxLayout *dockLayoutFigures = new QVBoxLayout;
     
    // Création d'un afficheur pour la liste des croix :
                    afficheurListe = new Afficheur();
     
    // Création d'une barre de défilement :
                    QScrollArea *scroll = new QScrollArea(this);
                    scroll->setWidget(afficheurListe);
                    scroll->setBackgroundRole(QPalette::Dark);
     
    // Ajout de l'afficheur au layout :
                    dockLayoutFigures->addWidget(scroll);
     
                // Application du layout au conteneur :
                contenuDockFigures->setLayout(dockLayoutFigures);
    Lorsque je clic sur ma scène, j'ai donc les points qui se rajoutaient normalement dans mon QLabel personnalisé. Seulement, depuis que j'ai ajouté mon QScrollArea dans lequel je place mon QLabel, l'affichage ne se fait pas correctement. Au lieu de voir afficher "point n° i : x= | y= ", j'ai seulement un "p" qui apparaît, comme si le scroll effaçait une partie du texte (d'autant plus que si je clique plusieurs fois, je n'ai toujours qu'un seul "p" au lieu d'avoir une liste).

    Voici deux captures, avec et sans scroll, pour que vous puissiez comprendre mon problème d'affichage.

    Connaîtriez-vous la raison ?

    Merci
    Images attachées Images attachées   

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    voici quelques liens ,vers quelques class de la librairie :

    QDockWidget,QScrollArea,QWidget,QApplication,QMainWindow,QVBoxLayout.
    Dernière modification par Invité ; 28/01/2011 à 16h35. Motif: erreur de lien QBoxLayout --> QVBoxLayout

  3. #3
    Membre éclairé
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par défaut
    Bonsoir,

    Merci brother2007 pour tes liens mais je parcours déjà la documentation.

    Je n'ai toujours pas trouvé le problème malgré le test de plusieurs méthodes(update() du scroll à chaque mise à jour de l'affichage du QLabel qu'il contient, ensureVisibleWidget() du scroll setGeometry() du scroll ...).

    Le problème est toujours le même que ci-dessus avec un affichage non visible, à part un "p" qui apparaît au début au premier clic de souris sur la scène.

    Normalement, je devrais obtenir (les coordonnées sont choisies au hasard):

    "point n° 1 : x = 230 | y = 512
    point n° 2 : x = 30 | y = 12
    point n° 3 : x = 130 | y = 200
    point n° 4 : x = 20 | y = 510
    point n° 5 : x = 285 | y = 471"


    Et j'obtiens après 5 clics :

    "p"

    (D'ou mes tests sur setGeometry() du scroll pensant au départ que la zone d'affichage se réduisait au premier "p" du QLabel mais bon apparemment ça ne semble pas être le cas :s)

    Si jamais vous avez une idée n'hésitez pas

    Merci beaucoup !

  4. #4
    Invité de passage
    Inscrit en
    Mars 2011
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 1
    Par défaut
    Salut
    moi aussi j'ai le même problème mais en affichant une image avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setPixmap(QPixmap("......."))
    il y a juste un petit bout qui s'affiche, dit moi si tu a trouvé une solution.

Discussions similaires

  1. Problème affichage dans la console
    Par el_harrathi dans le forum Persistance des données
    Réponses: 0
    Dernier message: 19/06/2009, 16h41
  2. Réponses: 5
    Dernier message: 18/02/2008, 13h48
  3. Réponses: 15
    Dernier message: 11/09/2007, 18h36
  4. Réponses: 2
    Dernier message: 28/08/2007, 17h12
  5. problème affichage dans une page html
    Par ljoly dans le forum Flash
    Réponses: 6
    Dernier message: 22/09/2006, 16h57

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