Question

Je cherche un moyen de préserver la taille des fenêtres dans une application Qt.

Je l'ai vu qu'il ya la possibilité d'utiliser la méthode suivante pour chaque widget:

saveGeometry()

Mais vraiment, je ne trouve pas cette méthode de satisfactioning. Y at-il quelque chose comme setAutosaveGeometry(True)?

Je cherche surtout un moyen de stocker les largeurs des colonnes de table.

Était-ce utile?

La solution

La classe QHeaderView dispose également de deux méthodes pour sauvegarder et restaurer son état à et à partir d'un QByteArray: saveState () et restoreState ()

en-têtes une vue de tableau sont accessibles par les méthodes horizontalHeader () et verticalHeader ().

Autres conseils

saveGeometry retourne une valeur QByteArray, vous devez stocker quelque part.

Exemple:

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

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

Pour lire l'appel de la géométrie de la fonction restoreGeometry:

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

    QSettings settings;

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

    [...]
}

Pour en savoir plus sur la géométrie de la fenêtre s'il vous plaît lire documentation

Consultez la documentation de Qt sur Restauration de la géométrie d'une fenêtre .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top