gpt4 book ai didi

qt - Qt中的应用程序GUI状态保存

转载 作者:行者123 更新时间:2023-12-02 05:59:17 25 4
gpt4 key购买 nike

什么是保存 Qt GUI 状态的最佳且适当的方法,以便我获得与关闭应用程序时相同的状态?

状态我的意思是:当前索引(用于组合框...)、调色板、小部件位置...就在关闭应用程序之前

最佳答案

您可以使用 QSettings类(class)。

QSettings 类的简单使用(受 Qt 文档启发的代码):

在保存和恢复设置的应用程序代码成员函数的主窗口中:

void MainWindow::writeSettings()
{
QSettings settings("reaffer Soft", "reafferApp");

settings.beginGroup("MainWindow");
settings.setValue("size", size());
settings.setValue("pos", pos());
settings.endGroup();
}

void MainWindow::readSettings()
{
QSettings settings("reaffer Soft", "reafferApp");

settings.beginGroup("MainWindow");
resize(settings.value("size", QSize(400, 400)).toSize());
move(settings.value("pos", QPoint(200, 200)).toPoint());
settings.endGroup();
}

从 MainWindow 构造函数和 closeEvent 调用这两个函数覆盖,像这样:
MainWindow::MainWindow()
{
// code from constructor
//...
readSettings();
}

void MainWindow::closeEvent(QCloseEvent *event)
{
//optional check if the user really want to quit
// and/or if the user want to save settings
writeSettings();
event->accept();
}

关于qt - Qt中的应用程序GUI状态保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33639821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com