2011-06-27 2 views
0

J'ai un widget principal dans lequel il y a quelques boutons, étiquette, listbox, etc, et aussi 2 zones de défilement. Dans la zone de défilement, je montre le graphique. Mais dans la zone de défilement, tout mon graphique n'est pas visible en même temps. Je veux montrer tout mon graphique dans le même espace, ce qui signifie que le graphique doit s'ajuster pour s'adapter à cette zone particulière. Que devrais-je faire? Quelqu'un a suggéré QVBoxLayout mais je ne le trouve pas dans la liste des outils.qt ne veut pas faire défiler

Jusqu'à présent, je l'ai fait ce

myplot * p = new myplot(gao.structpayloadgraph,gao1.structpayloadgraph, gao.structcol-2, "payload"); 

myplot * p1 = new myplot(gao.structsessiongraph,gao.structsessiongraph ,gao.structcol-2, "session"); 
p->resize(ui->scrollArea->size().width() ,ui->scrollArea->size().height()); 
p->show(); 
p1->resize(ui->scrollArea_2->size().width() ,ui->scrollArea_2->size().height()); 
p1->show(); 
ui->scrollArea->setWidget(p); 
ui->scrollArea_2->setWidget(p1); 

bien vouloir me aider.

Répondre

0

Avez-vous essayé de définir la propriété widgetResizable de la zone de défilement sur true?

Par défaut, il est faux et la zone de défilement respecte la taille que vous avez donnée.

+0

monsieur j'ai écrit ui-> scrollArea-> setWidgetResizable (true) mais c'est toujours le même que je fais mal. merci – sajid

0

Essayez ceci:

p->setSizePolicy (QSizePolicy::Expanding,QSizePolicy::Expanding); 

et après appel à

ui->scrollArea->setWidget(p); 

appel p->adjustSize() à la taille de la zone de défilement.

+0

monsieur ça n'a pas fonctionné ......... – sajid