Bonjour,
j'ai beaucoup utilisé la bibliothèque Qt basée sur les QWidget. Je découvre les QGraphics_xx. J'ai pour le moment un QGraphicsView qui porte une QGraphicsScene. A l'intérieur, j'ai mis un QGraphicsGridLayout. Il contient en 1ere colonne des QLabels, en seconde colonne des QComboBox et en dernière colonne un objet qui hérite de QGraphicsItem et QGraphicsLayoutItem. J'ai ré-implémenté la fonction :
1 2 3 4 5 6 7
| void slotModel::setGeometry(const QRectF & r) {
QRectF modifiedRect = r;
modifiedRect.setHeight(PLOT_HEIGHT);
prepareGeometryChange();
QGraphicsLayoutItem::setGeometry(modifiedRect);
setPos(modifiedRect.topLeft());
} |
Mon objet possède les propriétés :
item->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
Quand je change la taille du viewport (QGraphicsView), il met bien des scrollbar pour pouvoir afficher mon objet avec la taille 'MinimumSize'. Quoi qu'il se passe, il reste à cette taille alors que j'aimerais qu'il s'adapte automatiquement en largeur à l'espace disponible dans le viewport (je voudrais faire l'équivalent de setStretchLastSection(true) d'un QHeaderView). Est-ce que je loupe une étape, je pensais que ce serait le cas par héritage de QGraphicsLayoutItem ? Merci d'avance pour votre aide !
Partager