C'è un modo semplice per ripristinare Widget dimensioni in Qt?
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.
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 .