Pregunta

Veo que este extraño comportamiento está sucediendo con QcomboBox, no se actualiza tan pronto como cambie su contenido. Para demostrar el problema aquí hay un código de muestra y algunas capturas de pantalla.

Widget inicialenter image description here

Agregar elemento a Combobox enter image description here (Vea cómo se superpone la casilla de verificación)

Actualizaciones modificadoras manualmente y ajusta el diseño y la combinaciónenter image description here

#include <QApplication>
#include <QtGui>

int main(int argc, char* argv[])
{
    QApplication app(argc, argv);

    QWidget parentWidget;
    QCheckBox checker;
    QComboBox comber;
    QHBoxLayout layoot;

    comber.setEditable (true);
    comber.setSizeAdjustPolicy(QComboBox::AdjustToContents);

    layoot.addWidget (&comber);
    layoot.addWidget (&checker);
    parentWidget.setLayout(&layoot);

    parentWidget.show();
    return app.exec();
}

Intenté actualizar () y repint () en el comboBox y también el diseño después de que se edita el elemento, pero no tiene ningún efecto. ¿Realmente tengo que cambiar el tamaño manual del widget para que el comboBOx se reajuste? ¿Alguien es consciente de una solución para este problema?

Gracias.

CV

¿Fue útil?

Solución

Me suena como un error, especialmente si llamas manualmente update en el diseño no tiene ningún efecto. Quizás lo que estas viendo es este error. Aparentemente, ese se fija en 4.8.0.

Otros consejos

Estoy de acuerdo en que es un comportamiento un poco extraño ... agregando parentWidget.resize(parentWidget.sizeHint()) ; Después de agregar que el texto resolvió el problema, pero es más un truco que una respuesta.

Editar: OK, ¿probaste el QComboBox::AdjustToContentsOnFirstShow ¿Sizeadjustpolicy en su lugar? ¿Se ajusta a tus necesidades? Al menos resuelve el problema incluso para un widget incrustado también

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top