Existe alguna solución para incrustar un QLabel en QStatusBar el uso de Qt Designer?

3 Comentarios

  1. 26

    Yo no lo creo. Es bastante simple de agregar una programación, aunque.

    Si usted está a solo querer mostrar un mensaje, usted podría utilizar: statusBar()->showMessage(tr("Message Here"));, o alternativamente, si usted realmente necesita un QLabel en la barra de estado, se podría hacer algo a lo largo de las líneas de:

    QLabel *label = new QLabel("Message");
    statusBar()->addWidget(label);

    label podría convertirse en un hijo de statusBar(), y aparecen en el primer lugar vacío de la parte inferior izquierda (addPermanentWidget(label) habría que añadir que el primer punto vacío de la parte inferior derecha). Si usted coloca QLabel label en las clases de cabecera (o de otros var nombre), usted sería capaz de acceder a la variable directamente después (extracción de la inicial QLabel tipo de la primera línea, por supuesto).

    • Cómo adaptar el código a utilizar un traducible Message?
    • Alguna razón sientes que esto podría ser significativamente diferente de lidiar con cualquier otro QLabel?
    • Lo siento. Yo estaba tratando de usar tr con QLabel, pero sin éxito. No sé cómo utilizar QLabel con translable de texto.
  2. 5

    No es posible, incluso si usted quiere editar manualmente el archivo UI.

    • Creo que es un defecto en QtDesigner
    • No es un defecto, sino una característica que falta. Lamentablemente QtDesigner no está destinada a la UIs, que tienen varios niveles de la estructura (esto incluye la adición de un QLabel a un QStatusbar etc.).
  3. 5

    No es posible con Qt Designer. Puedo resolver mediante la creación de una etiqueta en Qt Designer y más tarde en el constructor de mi MainWindows añadir esta línea:

    Ui::"class name of my MainWindows"::"name of statusBar Object"->addWidget("Object Name of Label");

    Mi solicitud, el nombre de la clase de mainwindows es MainWindowsForm, la barra de estado se denomina statusBar y la etiqueta se denomina informationLabel. Entonces tengo:

    Ui::MainWindowsForm::statusBar->addWidget(informationLabel);

Dejar respuesta

Please enter your comment!
Please enter your name here