题
我正在寻找一种在 Qt 应用程序中保留窗口大小的方法。
我已经看到可以对每个小部件使用以下方法:
saveGeometry()
但实际上,我并不认为这是一种令人满意的方法。有没有类似的东西 setAutosaveGeometry(True)
?
我特别寻找一种存储表列宽度的方法。
解决方案
这 标题视图 该类还有两种方法用于在 QByteArray 中保存和恢复其状态: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()); [...] }
要了解有关窗户几何形状的更多信息,请阅读 文档
请参阅 Qt 文档 恢复窗口的几何形状.
不隶属于 StackOverflow