c++ - example - qpushbutton qt
Haga que QMainWindow solo se pueda redimensionar horizontalmente, es decir, que el ancho sea redimensionable, pero la altura sea fija (3)
Sí tu puedes. Como QMainWindow hereda de QWidget, use la configuración de la política de tamaño de QWidget para permitir solo el cambio de tamaño en la dirección horizontal.
Si trabaja en Qt Designer, establezca la política de tamaño vertical para ser reparada, y la altura mínima sea la altura deseada. En codigo:
QMainWindow *mainWindow = new QMainWindow();
mainWindow->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
Tenga cuidado al usar un tamaño fijo absoluto, ya que los controles pueden necesitar crecer de forma vertical (por ejemplo, el usuario establece una fuente de PPP alta en su escritorio).
¿Puedo hacer un QMainWindow con un tamaño de diseño de cuadrícula solo horizontalmente pero no verticalmente?
Quiero que su tamaño vertical sea el mínimo necesario para mantener todos los botones / ediciones de línea.
Vi otra manera en uno de los ejemplos en un libro llamado "Programación de la GUI de C ++ con Qt 4". Lo hicieron con
setFixedHeight(sizeHint().height());
el código a continuación funciona bien
setFixedHeight(sizeHint().height());
pero codifique debajo
QMainWindow *mainWindow = new QMainWindow();
mainWindow->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
no funciona porque el parámetro incorrecto se pasa a la función setSizePolicy
. Esta función tiene dos formas, una de las cuales requiere QSizePolicy::Policy
y la otra requiere QSizePolicy
pero QSizePolicy::Expanding
no es una QSizePolicy
ni una QSizePolicy::Policy
.