Intégration de QLabel dans QStatusBar à L'aide de Qt Designer
Existe-t-il une solution pour intégrer un QLabel dans QStatusBar en utilisant Qt Designer?
3 réponses
Je ne crois pas. Il est assez simple d'en ajouter un par programme, cependant.
Si vous voulez simplement afficher un message, vous pouvez utiliser: statusBar()->showMessage(tr("Message Here"));
, ou bien si vous avez vraiment besoin d'un QLabel sur la barre d'état, vous pouvez faire quelque chose comme:
QLabel *label = new QLabel("Message");
statusBar()->addWidget(label);
label
deviendrait un enfant de statusBar()
, et apparaîtrait dans le premier endroit vide en bas à gauche (addPermanentWidget(label)
l'ajouterait au premier endroit vide en bas à droite). Si vous placez QLabel label
dans l'en-tête des classes (ou autre var name), vous pourrez accéder à la variable directement plus tard (en supprimant le type QLabel
initial de la première ligne, bien sûr).
Ce n'est pas possible même si vous modifiez manuellement le fichier D'interface utilisateur.
Ce N'est pas possible avec Qt Designer. Je le résous en créant l'étiquette a dans Qt Designer et plus tard dans le constructeur de mon MainWindows
ajouter cette ligne:
Ui::"class name of my MainWindows"::"name of statusBar Object"->addWidget("Object Name of Label");
Dans mon application, le nom de la classe de mainwindows est MainWindowsForm
, la barre d'état est nommé statusBar
et l'étiquette est nommé informationLabel
. Alors j'ai:
Ui::MainWindowsForm::statusBar->addWidget(informationLabel);