QcomboBox se superpone a otros widgets cuando se agrega un nuevo elemento
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 inicial
Agregar elemento a Combobox (Vea cómo se superpone la casilla de verificación)
Actualizaciones modificadoras manualmente y ajusta el diseño y la combinación
#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
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