2010-06-25 26 views

Répondre

4

Définir le widget central de votre QMainWindow à un QScrollArea puis définissez le widget de que nouveau QScrollArea au widget qui était auparavant votre widget central. N'oubliez pas de définir la propriété "widget redimensionnable" de QScrollArea sur true.

+0

D'accord, je viens d'essayer ce genre de .. fonctionne .. le widget d'origine affiche, mais les barres de défilement ne semble pas même lorsque la taille du widget origine centrale est supérieure à la taille du QMainWindow .. – Ahmad

+0

@ Ahmad essaie d'utiliser setHorizontalScrollBarPolicy() et setVerticalScrollBarPolicy() sur votre QScrollArea. – Casey

+0

@Casey Je n'ai toujours pas de chance avec ça. Je pense que le widget central d'origine n'est pas configuré correctement pour déclencher la barre de défilement. Une idée? – shiami

0

Pour une raison quelconque, le widget enfant ne s'affichait pas du tout s'il s'agissait d'un QWidget avec une disposition. Cela n'a fonctionné qu'après avoir appelé setWidgetResizable(true).

auto mainWidget = new QWidget(); 
auto scrollArea = new QScrollArea(); 
scrollArea->setWidget(mainWidget); 
scrollArea->setWidgetResizable(true); 
setCentralWidget(scrollArea); 
resize(1470, 900); 

QHBoxLayout* mainLayout = new QHBoxLayout(mainWidget); 
...