Qtアプリでウィンドウのサイズを維持する方法を探しています。
すべてのウィジェットに次のメソッドを使用する可能性があることを確認しました。
saveGeometry()
しかし、実際には、これは満足のいく方法ではありません。のようなものはありsetAutosaveGeometry(True)ますか?
特にテーブルの列の幅を保存する方法を探しています。
QHeaderViewクラスには、QByteArray との間で状態を保存および復元するための 2 つのメソッドもあります: saveState() および restoreState()
テーブル ビューのヘッダーには、 horizontalHeader() および verticalHeader() メソッドを介してアクセスできます。
saveGeometryはQByteArray値を返すため、どこかに保存する必要があります。
例:
void MainWindow :: closeEvent(QCloseEvent * event){
Q設定設定;
settings.setValue( "geometry"、saveGeometry());
}
ジオメトリを読み取るには、restoreGeometry関数を呼び出します。
MainWindow :: MainWindow(QWidget * parent):QMainWindow(parent){
[...]
Q設定設定;
restoreGeometry(settings.value( "geometry")。toByteArray());
[...]
}
ウィンドウジオメトリの詳細については、ドキュメントをお読みください
Restoreing a Window's Geometryに関する Qt のドキュメントを参照してください。