2010-11-17 18 views
5

Witaj Stworzyłem aplikację używając qt i udało mi się zapisać niektóre jej ustawienia za pomocą QSettings.Zapisywanie ustawień aplikacji qt przy użyciu QSettings

void DoneIt::writeSettings() 
{ 
    QSettings settings("mycompany", "RightDoneIt"); 
    settings.beginGroup("DoneIt"); 
    settings.setValue("size", size()); 
    settings.setValue("pos", pos()); 
    settings.endGroup(); 
} 

void DoneIt::readSettings() 
{ 
    QSettings settings("mycompany", "RightDoneIt"); 
    settings.beginGroup("DoneIT"); 
    resize(settings.value("size", QSize(400, 400)).toSize()); 
    move(settings.value("pos", QPoint(200, 200)).toPoint()); 
    settings.endGroup(); 
} 

To działa dobrze z pozycją okna i rozmiarem. Mam dodać widżety w mojej aplikacji przy użyciu projektanta qt i chciałbym również zapisać ich stan.

Jeden z moich widżetów jest przycisk radiowy i nazywają to radioButtonbnw

Jak mogę zapisać swój stan (zaznaczone lub odznaczone)?

Jakie są najlepsze praktyki?

Odpowiedz

7
  1. Umieść je na QButtonGroup.
  2. Użyj ustawienia QButtonGroup::setId, aby ustawić identyfikator dla każdego przycisku opcji w tej grupie.
  3. Zapisz identyfikator sprawdzanego przycisku, otrzymując numer QButtonGroup::checkedId.
  4. Uzyskaj wskaźnik tego przycisku, używając QButtonGroup::button(id) podczas przywracania i zadzwoń pod numer QAbstractButton::setChecked.

BTW: jeśli chcesz zapisać bieżący stan pasków narzędzi okna głównego i portów, użyj QMainWindow::saveState.

+0

Proszę, czy mógłbyś być nieco bardziej precyzyjny? to mój pierwszy kontakt z QbuttonGroup. Czy możesz podać mi jakiś kod? 1000 dzięki – Sharethefun

+0

Przepraszamy, że jestem zajęty moim projektem i nie mam istniejącego kodu. –

+0

Nie ma problemu :) tu są ur głosy i punkty :) Powodzenia w projekcie – Sharethefun

Powiązane problemy