Saltar al contenido

Qt QHBoxLayout tamaño porcentual

Este team de especialistas pasados varios días de investigación y de recopilar de información, obtuvimos la solución, queremos que te resulte útil para tu proyecto.

Solución:

void QSizePolicy::setHorizontalStretch(uchar stretchFactor)

Ejemplo:

QHBoxLayout* layout = new QHBoxLayout(form);

QWidget* left = new QWidget(form);
QSizePolicy spLeft(QSizePolicy::Preferred, QSizePolicy::Preferred);
spLeft.setHorizontalStretch(1);
left->setSizePolicy(spLeft);
layout->addWidget(left);

QWidget* right = new QWidget(form);
QSizePolicy spRight(QSizePolicy::Preferred, QSizePolicy::Preferred);
spRight.setHorizontalStretch(2);
right->setSizePolicy(spRight);
layout->addWidget(right);

La respuesta de york.beta está funcionando, pero prefiero mucho menos código.

Al menos sizePolicy es por defecto Preferido/Preferido.

La política predeterminada es Preferida/Preferida, lo que significa que el widget se puede cambiar de tamaño libremente, pero prefiere que sea del mismo tamaño que devuelve sizeHint().

Simplemente puede utilizar el segundo parámetro de agregar widget para estirar los widgets.

QHBoxLayout *layout = new QHBoxLayout( this );
layout->setContentsMargins( 0, 0, 0, 0 );
layout->setSpacing( 0 );

QPushButton *left = new QPushButton( "133px", this );
left->setStyleSheet( "QPushButtonborder: 1px solid red;" );
QPushButton *right = new QPushButton( "267px", this );
right->setStyleSheet( "QPushButtonborder: 1px solid blue;" );

layout->addWidget( left, 33 );
layout->addWidget( right, 66 );

this->setLayout( layout );
this->setFixedWidth( 400 );

ingrese la descripción de la imagen aquí

Consulte http://doc.qt.io/qt-5/qboxlayout.html#addWidget

y http://doc.qt.io/qt-5/qwidget.html#sizePolicy-prop

También puede usar la propiedad layoutStretch:

https://doc.qt.io/qt-5/layout.html#stretch-factors

en tu caso seria


Agradecemos que desees sostener nuestro análisis poniendo un comentario y dejando una puntuación te lo agradecemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *