Creé 2 filas de botones, cada fila está dentro de un QHBoxLayout. Tamaño/ancho mínimo de un QPushButton creado a partir del código
puedo crear los botones en el código:
static const char* buttonText = "23456789TJQKA";
for (int ii = 0; buttonText[ii]; ii++)
{
QPushButton* pushButton = new QPushButton(this);
pushButton->setText(QString(buttonText[ii]));
ui->horizontalLayout_1->addWidget(pushButton);
}
for (int ii = 0; buttonText[ii]; ii++)
{
QPushButton* pushButton = new QPushButton(this);
pushButton->setText(QString(buttonText[ii]));
ui->horizontalLayout_2->addWidget(pushButton);
}
El problema es que no pueden contraerse (cuando el usuario cambia el tamaño de la ventana) más allá de ese tamaño, aunque su texto encajaría en una ancho mucho más pequeño. Si creo los botones manualmente en el editor de recursos en lugar de hacerlo en el código, pueden tener un ancho menor que ese.
Probar con QToolButton. –
¡Eso funcionó! Gracias. Si publica esto como respuesta, puedo seleccionarlo como la respuesta aceptada. ¿Pero por qué el redimensionamiento funciona para QToolButton pero no para QPushButton? – sashoalm
QToolButton y QPushButton tienen diferentes "estilos" predeterminados. Por ejemplo, un QPushButton tiene un ancho mínimo de aproximadamente 6em. Es decir, el ancho de 6 caracteres (en la fuente que está usando). QToolButton, porque generalmente se usa para imágenes, o "...", cosas así, tiene un ancho mínimo mucho más pequeño, como 2em. QPushButton, también suele tener más márgenes izquierdos/derechos. Si comienzas a jugar con hojas de estilo, esto es algo con lo que puedes jugar. – Liz