Bonsoir, je suis entrain de réaliser un projet avec QT et je rencontre un petit soucis pour mettre une barre de défilement. J'ai fait différente tentative et différente recherche pour résoudre ce problème sans succès.

J'ai sur une page dialogue, plusieurs label avec du texte qui est plus grand que la fenêtre et donc je souhaiterai mettre une barre de défilement pour permettre de lire tout le texte.

En continuant de chercher et en fessant des essais j'ai finit par trouver une solution qui marche pour un QMainWindow mais comme je veux faire sa sur un QDialog, j'essai de l'adapter mais je ne sais pas comment.

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
27
28
29
30
31
32
33
34
35
 
#include <QtGui>
 
normenf541::nor541(QString &code, QWidget *parent = 0) : QDialog(parent)
  {
    setFixedSize(900,600); // dimention de la fenetre
    setWindowIcon(QIcon("icones/icone feu.png")); // icone fenetre
    setWindowTitle("JVE CONCEPT v0.0"); // nom afficher fenetre
    setStyleSheet("background-color: rgb(255,255,255)");//couleur fenetre
 
    grid = new QGridLayout;
    scrollArea = new QScrollArea;
    scrolledWidget = new QWidget;
 
label1 = new QLabel;
    label1->setText(" ........");
    label1->setFont(QFont("Arial",16)); // police et taille bouton
    label2 = new QLabel;
    label2->setText("...........");
    label2->setFont(QFont("Arial",12)); // police et taille bouton
    label3 = new QLabel;
    label3->setText("<br />Introduction<br />"); // choix du texte
    label3->setFont(QFont("Arial",10)); // police et taille bouton
 
     grid->addWidget(label1, 0, 0 );
     grid->addWidget(label2, 1, 0 );
     grid->addWidget(label3, 2, 0 );
 
     scrolledWidget->setLayout(grid);
     scrollArea->setWidget(scrolledWidget);
     scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
 
    setCentralWidget(scrollArea);
 
   }
Quand je compile j'ai ce message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
In constructor 'nor541::nor541(Qstring& Qwidget*)':
'setCentralWidget' was not declared in this scope
Je sais que setCentralWidget est lié à QMainWindow, j'ai donc tenter de le remplacer par

Avec cette ligne je n'est plus le message d'erreur de compilation mais je n'est toujours pas la barre de défilement.

Pouvez vous me dire ce que je doit encore modifier pour que sa marche sur mon QDialog