質問
Qt アプリでウィンドウのサイズを保持する方法を探しています。
すべてのウィジェットに対して次のメソッドを使用できる可能性があることがわかりました。
saveGeometry()
しかし、実際のところ、私はこれが満足のいく方法だとは思っていません。のようなものはありますか setAutosaveGeometry(True)
?
特にテーブルの列の幅を保存する方法を探しています。
解決
の QHeaderView クラスには、QByteArray に状態を保存したり、QByteArray から状態を復元したりするための 2 つのメソッドもあります。saveState()およびrestoreState()
テーブル ビューのヘッダーには、horizontalHeader() メソッドとverticalHeader() メソッドを介してアクセスできます。
他のヒント
saveGeometryは、あなたがどこかに格納する必要があり、QByteArray値を返します。
例:
void MainWindow::closeEvent(QCloseEvent *event){ QSettings settings; settings.setValue("geometry", saveGeometry()); }
ジオメトリコールを読んrestoreGeometry機能に関してます:
MainWindow::MainWindow(QWidget *parent):QMainWindow(parent) { [...] QSettings settings; restoreGeometry(settings.value("geometry").toByteArray()); [...] }
をお読みください窓の形状の詳細については、ドキュメントの
所属していません StackOverflow