Je suis assez nouveau sur QT et j'ai fait ma première sous-classe QWidget personnalisée ... tout fonctionne bien, jusqu'à ce que j'essaie d'y ajouter des étiquettes. Ils sont tous écrasés dans le coin supérieur.problèmes de mise en page QWidget personnalisés
Voici mon code:
ARView::ARView(QWidget *parent, const char *name) {
deviceLBL = new QLabel(this);
targetLBL = new QLabel(this);
deviceHeadingLBL = new QLabel(this);
targetHeadingLBL = new QLabel(this);
distanceLBL = new QLabel(this);
QVBoxLayout *layout = new QVBoxLayout();
layout->addWidget(deviceLBL);
layout->addWidget(targetLBL);
layout->addWidget(deviceHeadingLBL);
layout->addWidget(targetHeadingLBL);
layout->addWidget(distanceLBL);
this->setLayout(layout);
this->setupLocationUpdates();
}
Est-ce que quelqu'un sait ce que je fais mal? Pourquoi toutes ces étiquettes ne sont-elles pas disposées dans une grille? Ou, s'ils le sont, pourquoi la grille n'utilise-t-elle pas tout l'espace disponible de ma sous-classe?
Cheers,
James
Merci pour la suggestion, j'ai essayé cela, mais le résultat est le même. (J'ai mis à jour mon message original pour inclure le nouveau code). – James
Utilisez les valeurs de ligne et de colonne. Vous ne les utilisez pas. layout-> addWidget (deviceLBL, 0,0); layout-> addWidget (targetLBL, 0,1); etc. –
Merci pour la suggestion. J'ai essayé ceci, mais les valeurs ne sont pas des valeurs de ligne et de colonne. La première est une valeur d'étirement et la seconde est une valeur d'alignement. Quelle est la bonne façon de définir les lignes et les colonnes s'il vous plaît? – James