PDA

View Full Version : سوال: ذخیره مختصات نوار ابزار در هنگام خروج از برنامه



alamate_aoal
سه شنبه 05 مهر 1390, 16:20 عصر
در هنگام خروج از برنامه مختصات و وضعیت فرم اصلی برنامه و ویجت اسپلیتر را با تابع زیر ذخیره میکنم

void MainWindow::writeSettings()
{
QSettings settings("my soft co", "myprogram_name");
settings.setValue("mainWin_pos", saveGeometry());
settings.setValue("splitter_pos", splitter->saveState());
}


در سازنده MainWindow تابع زیر را فراخوانی میکنم

void MainWindow::readSettings()
{
QSettings settings("my soft co", "myprogram_name");
restoreGeometry(settings.value("mainWin_pos").toByteArray());
splitter->restoreState(
settings.value("splitter_pos").toByteArray());
}

اگر کاربر نوار ابزار را از جایگاه اصلی خودش, یعنی بصورت افقی و زیر نوار منو به جایی دیگر (مثلا بصورت عمودی و در سمت راست پنجره) منتقل کند این تغییرات را در راه اندازی مجدد برنامه چطور میتوان اعمال کرد؟

.:saeed:.
سه شنبه 12 مهر 1390, 00:50 صبح
برای ذخیره موقعیت موقعیت Toolbar های یک Mainwindow از تابع saveState استفاده کنید. با این کار شما State تمام toolbar و dockwidget رو ذخیره میکنید.

QSettings settings("cmp", "app");
settings.setValue("geometry", saveGeometry());
settings.setValue("windowState", saveState());


بعدشم که با restoreState باز میگردونیمشون به حالت اول