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.
Quand je compile j'ai ce message d'erreur :
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); }
Je sais que setCentralWidget est lié à QMainWindow, j'ai donc tenter de le remplacer par
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
Avec cette ligne je n'est plus le message d'erreur de compilation mais je n'est toujours pas la barre de défilement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 setLayout(grid)
Pouvez vous me dire ce que je doit encore modifier pour que sa marche sur mon QDialog
Partager