Gibt es eine einfache Art und Weise Widget Größen in Qt wiederherzustellen?
Frage
ich nach einer Möglichkeit, die Größe der Fenster in einem Qt-App.
zu erhaltenIch habe gesehen, dass es die Möglichkeit, die folgende Methode für jedes Widget verwenden:
saveGeometry()
Aber wirklich, ich dies keine satisfactioning Methode finden. Gibt es so etwas wie setAutosaveGeometry(True)
?
Ich bin gerade nach einem Weg, um die Breiten der Tabellenspalten zu speichern.
Lösung
Die QHeaderView Klasse hat auch zwei Methoden zum Speichern und Wiederherstellen ist es Staat und von einem QByteArray: savestate () und restore ()
Eine Header der Tabellenansicht ist über die horizontalHeader () und verticalHeader () Methoden.
Andere Tipps
saveGeometry gibt einen QByteArray Wert, müssen Sie es irgendwo speichern.
Beispiel:
void MainWindow::closeEvent(QCloseEvent *event){ QSettings settings; settings.setValue("geometry", saveGeometry()); }
Für die Geometrie Aufruf der Funktion restoreGeometry Lesen:
MainWindow::MainWindow(QWidget *parent):QMainWindow(parent) { [...] QSettings settings; restoreGeometry(settings.value("geometry").toByteArray()); [...] }
Um mehr über die Fenstergeometrie zu erfahren lesen Sie bitte die Dokumentation
Sehen Sie die Qt-Dokumentation auf Sie ein Fenster Geometrie Wiederherstellen .