Gibt es eine einfache Art und Weise Widget Größen in Qt wiederherzustellen?

StackOverflow https://stackoverflow.com/questions/680844

  •  22-08-2019
  •  | 
  •  

Frage

ich nach einer Möglichkeit, die Größe der Fenster in einem Qt-App.

zu erhalten

Ich 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.

War es hilfreich?

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 .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top