1

我正在寻找一种方法来保留 Qt 应用程序中窗口的大小。

我已经看到可以为每个小部件使用以下方法:

saveGeometry()

但实际上,我不觉得这是一种令人满意的方法。有没有类似的东西setAutosaveGeometry(True)

我特别在寻找一种存储表格列宽度的方法。

4

3 回答 3

4

QHeaderView类也有两种方法可以在QByteArray中保存和恢复它的状态:saveState() 和 restoreState()

表格视图的标题可以通过 Horizo​​ntalHeader() 和 verticalHeader() 方法访问。

于 2009-03-25T20:40:11.123 回答
0

saveGeometry 返回一个 QByteArray 值,您需要将它存储在某个地方。

例子:

无效 MainWindow::closeEvent(QCloseEvent *event){
    QSettings 设置;

    settings.setValue("几何", saveGeometry());
}

要读取几何图形,请调用 restoreGeometry 函数:

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

    QSettings 设置;

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

    [...]
}

要了解有关窗口几何形状的更多信息,请阅读文档

于 2009-03-25T11:18:03.177 回答
0

请参阅有关恢复 Window's Geometry的 Qt 文档。

于 2009-03-25T20:32:01.567 回答