1

Qtアプリでウィンドウのサイズを維持する方法を探しています。

すべてのウィジェットに次のメソッドを使用する可能性があることを確認しました。

saveGeometry()

しかし、実際には、これは満足のいく方法ではありません。のようなものはありsetAutosaveGeometry(True)ますか?

特にテーブルの列の幅を保存する方法を探しています。

4

3 に答える 3

4

QHeaderViewクラスには、QByteArray との間で状態を保存および復元するための 2 つのメソッドもあります: saveState() および restoreState()

テーブル ビューのヘッダーには、 horizo​​ntalHeader() および verticalHeader() メソッドを介してアクセスできます。

于 2009-03-25T20:40:11.123 に答える
0

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());

    [...]
}

ウィンドウジオメトリの詳細については、ドキュメントをお読みください

于 2009-03-25T11:18:03.177 に答える
0

Restoreing a Window's Geometryに関する Qt のドキュメントを参照してください。

于 2009-03-25T20:32:01.567 に答える