如何在 Qt 中存储工具栏的 setMoveable
属性?
我正在使用 QSettings
和 saveState()
来保存工具栏的状态(例如位置)。但显然这不会保存 setMoveable
属性。
这是目前加载和保存的代码:
void MainWindow::readSettings()
{
QSettings settings(QCoreApplication::organizationName(), QCoreApplication::applicationName());
const QByteArray geometry = settings.value("geometry", QByteArray()).toByteArray();
const QByteArray windowState = settings.value("windowstate", QByteArray()).toByteArray();
if (geometry.isEmpty()) {
const QRect availableGeometry = QApplication::desktop()->availableGeometry(this);
resize(availableGeometry.width() / 3, availableGeometry.height() / 2);
move((availableGeometry.width() - width()) / 2,
(availableGeometry.height() - height()) / 2);
} else {
restoreGeometry(geometry);
}
if (!windowState.isEmpty()) {
restoreState(windowState);
}
}
void MainWindow::writeSettings()
{
QSettings settings(QCoreApplication::organizationName(), QCoreApplication::applicationName());
settings.setValue("geometry", saveGeometry());
settings.setValue("windowState", saveState());
}
最佳答案
我认为你必须自己存储它们,使用类似的东西
QSettings settings(...);
settings.setValue("movable", toolbar->isMovable());
和
toolbar->setMovable(settings.value("movable", false).toBool());
分别假设有一个QToolbar
之类的
QToolbar *toolbar;
请注意,您也可以在此处使用诸如组之类的东西
settings.beginGroup("QToolbar");
// access settings here (store/load)
settings.endGroup();
这有助于对设置进行分组。
关于c++ - 如何在 Qt 中保存 setMovable(工具栏)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38264451/