¿Hay alguna manera de hacer que la propiedad layoutStretch siempre se obedezca? P.ej. Lo tengo configurado en "1,3,2", pero luego se expande un widget (una etiqueta) en la primera parte (el "1" en "1,3,2") (cuando se agrega más texto), y luego la ración 1: 3: 2 ya no se respeta. Es decir, la relación "1: 3: 2" se convierte en algo más parecido a "3: 1: 3".Cómo arreglar el tamaño de los diseños
Respuesta
Deberías echar un vistazo a la propiedad QWidget::sizePolicy
. Controla cómo el diseño respeta el sizeHint()
de sus elementos secundarios cuando actualiza las geometrías.
Así que lo que hay que hacer es: Hacer que el diseño de ignorar las sizeHints horizontales de los widgets hijos mediante el establecimiento de la sizePolicy horizontal de las tres widgets hijos a QSizePolicy::Ignored
:
QLabel *label = ...;
...
label->setSizePolicy(QSizePolicy::Ignored, label->sizePolicy().verticalPolicy());
(El segundo argumento se asegurará de que la política vertical no cambia con esta declaración. Por supuesto, debe establecer la política de tamaño de cada widget hijo, este código de ejemplo es solo para la etiqueta.)
Tenga en cuenta que el contenido de su diseño debe ser widgets; Creo que a los diseños anidados no se les puede asignar una política de tamaño (pero podría estar equivocado). Al menos con QtDesigner, no hay forma de aplicar una política de tamaño a un diseño en sí mismo (si no es el diseño de un widget). Ver comentarios para más detalles.
En QtDesigner, se puede establecer el sizePolicy de los widgets hijos como este:
Antes:
shrinked:
Seleccionar los elementos de la disposición:
Establecer la política tamaño horizontal a "hizo caso omiso":
Resultado:
- 1. ¿Cómo arreglar los nombres de los paquetes en IntelliJ?
- 2. Cómo arreglar el tamaño de formulario de WPF: ¿controles rezagados y fondo negro?
- 3. ¿Cómo arreglar el tamaño de un ggplot en R mientras lo guarda con png()?
- 4. ¿Cómo vincular el cambio de tamaño de escenario con el cambio de tamaño de los componentes?
- 5. Qt Crear diseños y agregar widgets a diseños dinámicamente
- 6. EditarTexto centrarse incoherente en los diseños
- 7. ¿Los diseños líquidos siguen siendo relevantes?
- 8. Colapsando los márgenes en los diseños de Android
- 9. Cómo reutilizar diseños en WPF
- 10. ¿Cómo arreglar la tabla django_sites?
- 11. ¿Cómo arreglar el valor de la función en Google Spreadsheet?
- 12. android eclipse utilizando recurso de cadena para el tamaño de texto en diseños
- 13. Diseños de fluido con CSS
- 14. ¿Pueden los diseños ser elegidos por los controladores Grails?
- 15. Diseños RazorEngine
- 16. ¿Cómo arreglar las páginas sucias de InnoDB?
- 17. ¿Cómo arreglar la altura de la mesa?
- 18. Android: ¿Los diseños se "deslizan" fuera de la pantalla?
- 19. ¿Cómo arreglar la altura de TR?
- 20. Descripción de los diseños en Marionette para Backbone.js
- 21. ¿cómo puedo arreglar xcode compilando todo todo el tiempo?
- 22. ¿Cómo arreglar el archivo .pch que falta en la compilación?
- 23. Mejores prácticas de diseños HTML
- 24. ¿Cómo arreglar el buffer en una ventana en vim?
- 25. nanoc y diseños múltiples
- 26. iOS5 UITapRecognizer para UIScrollView interfiere con los botones. ¿Como arreglar?
- 27. CakePHP, extensiones y diseños
- 28. ¿Son compatibles los diseños automáticos de cacao al revés?
- 29. Cómo obtener el tamaño de archivo de los encabezados http
- 30. Cómo cambiar el tamaño de los controles de DevExpress
en QtDesigner hice clic en uno de los 3 widgets de verticalLayout que son los tres objetos en el widget horizontalLayout (el que tiene el layoutThtch 1: 3: 2). Sin embargo, no existe sizePolicy, solo layoutLeftMargin, layoutTopMargin, layoutRightMargin, layoutBottomMargin, layoutSpacing, layoutStretch y layoutSizeConstraint. –
@DavidDoria Agregué capturas de pantalla para QtDesigner. – leemes
Lo siento, creo que aún no estaba claro. Tengo widgets verticalLayout que son los elementos secundarios de un widget horizontalLayout. Estos widgets de Layout vertical son de los que quiero fijar la proporción de, pero no tienen una propiedad "sizePolicy". –