Est-il un moyen simple de restaurer la taille des widgets dans Qt?
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.
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 .