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?

22
demandé sur Mohammad Sheykholeslam 2010-04-26 10:18:40

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).

26
répondu Kitsune 2015-08-04 11:49:46

Ce n'est pas possible même si vous modifiez manuellement le fichier D'interface utilisateur.

5
répondu delor 2010-05-02 11:05:07

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);
5
répondu Joshwa 2012-09-24 21:38:35