Domanda

Sto cercando un modo per preservare la dimensione delle finestre in un'applicazione Qt.

ho visto che c'è la possibilità di utilizzare il seguente metodo per ogni widget di:

saveGeometry()

Ma in realtà, non trovo questo un metodo satisfactioning. C'è qualcosa di simile setAutosaveGeometry(True)?

Sono soprattutto alla ricerca di un modo per memorizzare la larghezza delle colonne della tabella.

È stato utile?

Soluzione

La classe QHeaderView dispone inoltre di due metodi per il salvataggio e il ripristino è stato a e da un QByteArray: saveState () e restoreState ()

intestazioni di una vista tabella sono accessibili tramite il horizontalHeader () e verticalHeader () metodi.

Altri suggerimenti

saveGeometry restituisce un valore QByteArray, è necessario memorizzare da qualche parte.

Esempio:

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

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

Per leggere la chiamata geometria della funzione restoreGeometry:

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

    QSettings settings;

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

    [...]
}

Per ulteriori informazioni su geometria della finestra si prega di leggere la documentazione

Vedere la documentazione Qt su Ripristino geometria di una finestra .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top