2013-07-19 2 views
3

Je travaille sur un projet où je dois afficher un très grand Widget principal (verticalement). Dans la version initiale de mon interface graphique, il a été ajouté comme le widget central d'un QMainWindow, ce qui a causé le problème que sur les petites résolutions d'écran, les contrôles sur le bas du Widget sont inaccessibles. Pour résoudre ce problème, j'ai enveloppé un QScrollArea autour du widget principal, mais maintenant la fenêtre principale est toujours relativement petite, même si ce n'est pas le cas. Que dois-je changer pour que la taille de la fenêtre principale (verticale) soit suffisamment grande pour afficher tout le contenu à moins qu'il ne soit trop grand pour la résolution de l'écran? Aussi, je ne veux pas qu'il soit étiré, donc simplement en utilisant toujours toute la résolution de l'écran vertical n'est pas une option. Idéalement, la taille doit être fixée à la taille requise par le contenu (sans la zone de défilement) et seulement plus petite si nécessaire. Le dépassement de la méthode sizeHint n'a abouti qu'à un petit agrandissement de la fenêtre et le réglage de la hauteur minimale me ramène au début où certaines des commandes ne sont pas évaluables sur de petites résolutions. Depuis que je suis nouveau à QT, je suis vraiment à court d'idées pour google la solution parce que la plupart des solutions que je peux trouver sont sur les composants de dimensionnement dans une fenêtre et non pas la fenêtre elle-même.Comment définir la taille souhaitée d'une fenêtre QMainWindow avec QScrollArea?

Répondre

-1

Par défaut, un QScrollArea ne tentera pas de développer pour s'adapter à son contenu. Pour ce faire, vous devrez ré-implémenter sizeHint() de QScrollArea pour retourner la taille des widgets enfants de QScrollArea.

Dans votre question, il semble que vous essayiez de réimplémenter sizeHint de MainWindow? La réimplémentation de sizeHint sur la fenêtre de niveau supérieur n'aura aucun effet car sizeHint est conçu pour être utilisé avec des widgets dans les mises en page.

Questions connexes