c++ - guia - qgis manual
¿Cómo configuro el ancho de QComboBox para que se ajuste al elemento más grande? (3)
Tengo un QComboBox
que relleno con QString
usando:
comboBox->addItem(someString);
Cuando inicio mi aplicación GUI, el ancho del QComboBox
es siempre 70, incluso si el elemento más pequeño es mucho más grande. ¿Cómo puedo establecer dinámicamente el ancho de un QComboBox
, por ejemplo, en la QString
más QString
dentro del comboBox
?
Editar:
Después de algunas pruebas adicionales encontré la siguiente solución:
// get the minimum width that fits the largest item.
int width = ui->sieveSizeComboBox->minimumSizeHint().width();
// set the ComboBoxe to that width.
ui->sieveSizeComboBox->setMinimumWidth(width);
De acuerdo con los docs la SizeAdjustPolicy
predeterminada es SizeAdjustPolicy
así que quizás lo esté mostrando y luego SizeAdjustPolicy
AdjustToContentsOnFirstShow
Ya sea primero antes de mostrarlo o intente configurar la política en QComboBox::AdjustToContents
.
Editar:
Por cierto, supongo que tienes el QComboBox
en un diseño adecuado, por ejemplo. QHBoxLayout
, para que la política / sugerencia de tamaño realmente se esté utilizando.
Estaba buscando una solución para cambiar solo el tamaño del menú desplegable del cuadro combinado para ajustar el texto más grande sin cambiar el tamaño del cuadro combinado.
Tu sugerencia (@Linoliumz) me ayudó a encontrar la solución. Aquí está: Supongamos que tienes un cuadro combinado llamado cb:
C ++:
width = cb->minimumSizeHint().width()
cb->view().setMinimumWidth(width)
PyQT:
width = cb.minimumSizeHint().width()
cb.view().setMinimumWidth(width)
La documentación en línea de Qt (4.6) tiene esto que decir acerca de QComboBox
:
enum SizeAdjustPolicy { AdjustToContents, AdjustToContentsOnFirstShow, AdjustToMinimumContentsLength, AdjustToMinimumContentsLengthWithIcon }
Yo sugeriría
Asegurarse de que
SizeAdjustPolicy
se esté utilizando realmenteestablecer la enumeración a
AdjustToContents
. Como mencionas un archivo.ui
, sugiero hacerlo en Designer. Normalmente, su constructor no debería tener nada de extravagante con respecto a las cosas que hace en Designer.