Pregunta

Estoy buscando una manera de preservar el tamaño de las ventanas en una aplicación Qt.

He visto que existe la posibilidad de utilizar el método siguiente para cada widget de:

saveGeometry()

Pero, en realidad, no me parece que este método sea satisfactioning. ¿Hay algo así como setAutosaveGeometry(True)?

Estoy especialmente en busca de una manera de almacenar las anchuras de las columnas de la tabla.

¿Fue útil?

Solución

La clase QHeaderView también tiene dos métodos para guardar y restaurar su estado ay de un QByteArray: saveState () y restoreState ()

cabeceras de una vista de tabla son accesibles por la horizontalHeader () y verticalHeader () métodos.

Otros consejos

saveGeometry devuelve un valor QByteArray, es necesario almacenarlo en alguna parte.

Ejemplo:

void MainWindow::closeEvent(QCloseEvent *event){
    QSettings settings;

    settings.setValue("geometry", saveGeometry());
}

Para la lectura de la llamada geometría de la función restoreGeometry:

MainWindow::MainWindow(QWidget *parent):QMainWindow(parent) {
    [...]

    QSettings settings;

    restoreGeometry(settings.value("geometry").toByteArray());

    [...]
}

Para obtener más información acerca de la geometría ventana lea la documentación

Consulte la documentación de Qt en Restauración de geometría de una ventana .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top