precio - qt python
Comprender los mecanismos de diseño de formularios en Qt (2)
Qt
tiene un mecanismo de diseño flexible y potente para manejar la vista de las ventanas de la aplicación de escritorio.
Pero es tan flexible, que casi no se puede entender, cuando algo sale mal y necesita una puesta a punto. Y tan poderoso, que puede vencer a cualquiera en sus intentos de abrumar la opinión de Qt de cómo debería verse la forma.
Entonces, ¿alguien puede explicar o proporcionar artículos o fuente de los mecanismos de posicionamiento de Qt?
Estoy tratando de forzar que QLabel
, QPushButton
y QTableView
, marcados con guiones bajos en sus nombres, sean dos veces más altos que QTextBrowser
con verticalStretch = 1
debajo. ¿Cómo puedo manejar la altura del widget correctamente?
.ui archivo de mi formulario en google docs. Buscar ''____'' en los nombres, vista previa en QtDesigner
Los diseños son realmente fáciles de entender "creo" :)
Una explicación simple de los diseños se puede encontrar en el libro qt " C ++ Gui programming with QT 2nd edition "
Lo que debe tener en cuenta con respecto a los diseños y sus políticas de tamaño
- La mayoría de los widgets Qt tienen una política de tamaño. Esta política de tamaño le dice al sistema cómo se debe estirar o reducir el widget. Es obtenido de la clase QSizePolicy. Una política de tamaño tiene componentes verticales y horizontales.
- La mayoría de los widgets también tienen una sugerencia de tamaño. Esta sugerencia de tamaño le dice al sistema un tamaño de widgets preffered
- QSizePolicy tiene un factor de estiramiento para permitir que los widgets crezcan a diferentes velocidades
Solo estoy familiarizado con 4 políticas de tamaño
- política de tamaño fijo: el tamaño del widget es fijo y no puede estirarse. Se mantiene en su sugerencia de tamaño.
- política de tamaño mínimo: la sugerencia de tamaño es el tamaño más pequeño posible del widget, pero PUEDE AÚN crecer más si es necesario.
- Política de tamaño preferida: el widget puede reducirse o crecer más que su sugerencia de tamaño.
- expandiendo la política de tamaño: el widget puede reducirse o crecer más que su sugerencia de tamaño :)
Es posible que desee preguntar,
¿Cuál es la diferencia entre Preferido y Expansión?
respuesta: Imagine un formulario con 2 widgets, uno con preferido y otro con expansión, luego se le dará espacio adicional al widget con la política en expansión. El widget con la política preferida permanecerá en su sugerencia de tamaño.
Recomiendo (ADVERTENCIA: no soy un experto :)) compra y lee a través de " C ++ Gui programming with QT 2nd edition ". Actualmente lo estoy leyendo y tiene mucho sentido. Mire las imágenes y vea si tienen algún sentido.
Explicando las políticas de tamaño
Un simple ejemplo
Este es un diálogo simple con 2 botones cuyas políticas de tamaño horizontal y vertical se muestran al igual que el estiramiento horizontal y vertical.
Aquí está la vista previa en su tamaño más pequeño.
Aquí hay otra vista previa en un tamaño más grande
[EDITADO: // ejemplo de sugerencia de tamaño agregado]
POR QUÉ DEBERÍAS PREOCUPARTE POR SIZEHINT
Puedes ver que cada widget tiene un sizeHint que es vital porque el sistema de diseño de QT siempre respeta el sizeHint. Esto es solo un problema si el tamaño predeterminado del widget no es exactamente lo que desea. La única forma de evitar este problema es extender (subclase) el widget y volver a implementar su función miembro de sizeHint (). Un ejemplo vale 1000 palabras. Para ahorrar espacio, vea mi blog donde hay un proyecto de ejemplo.
Puede usar hojas de estilo QT para controlar la altura de los widgets y otras propiedades de una manera fácil de personalizar.
http://doc.qt.io/archives/qt-4.7/stylesheet.html
En cuanto a los diseños, debe usarlos sabiamente y fuertemente acoplados con los espaciadores para que los widgets se comporten exactamente de la manera que usted desea.