staging.inyokaproject.org

qt-program-starter

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

hakaishi

(Themenstarter)
Avatar von hakaishi

Anmeldungsdatum:
28. April 2008

Beiträge: 525

Danke, genau das hatte ich gerade offen, und wollte versuchen es zu kopieren ^^'
EDIT: Es läuft -^_^-

hakaishi

(Themenstarter)
Avatar von hakaishi

Anmeldungsdatum:
28. April 2008

Beiträge: 525

Lunar schrieb:

1
2
3
4
5
QSettings settings;
at_date->setChecked(settings.value("CheckBoxes/at_date", false).toBool());
proto->setChecked(settings.value("CheckBoxes/protocol", false).toBool());
shutd->setChecked(settings.value("CheckBoxes/shutdown", false).toBool());
textEdit->setText(settings.value("Text/text").toString());

Und in main.cpp dann organizationName und applicationName richtig setzen:

1
2
app.setOrganizationName("hakaishi");
app.setApplicationName("qt-program-starter");

Und wieso wird unter ~/.config dann keine Datei erstellt? - Ich habe es auch mit

1
2
3
4
5
QSettings settings("hakaishi", "qt-program-starter");
atDateCheckBox->setChecked(settings.value("CheckBoxes/atDate", false).toBool());
loggingCheckBox->setChecked(settings.value("CheckBoxes/logging", false).toBool());
shutdownCheckBox->setChecked(settings.value("CheckBoxes/shutdown", false).toBool());
textEdit->setText(settings.value("Text/text").toString());

versucht, aber es wird dort dennoch keine Datei erstellt...

Ich glaube, dass die Datei erst mit setValue() erstellt wird.

Gruß, Hakaishi

BodomBeachTerror

Anmeldungsdatum:
24. März 2008

Beiträge: 788

In ./config sollte ein Ordner mit dem Organisationsname stehen. In dem Ordner sollte dann eine .conf Datei liegen.

@Lunar: Okay, danke, ich hatte das mal aus irgend nem andern Programm übernommen, war wohl nicht das beste 😀

hakaishi

(Themenstarter)
Avatar von hakaishi

Anmeldungsdatum:
28. April 2008

Beiträge: 525

BodomBeachTerror schrieb:

In ./config sollte ein Ordner mit dem Organisationsname stehen. In dem Ordner sollte dann eine .conf Datei liegen.

@Lunar: Okay, danke, ich hatte das mal aus irgend nem andern Programm übernommen, war wohl nicht das beste 😀

Tut es aber nicht...

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

Ja und? Wenn Du keine Einstellungen änderst, dann wird natürlich auch keine Datei erzeugt. Warum auch? Die Datei ist schließlich ziemlich überflüssig, wenn da nur die eh im Programm bereits vorhandenen Standard-Einstellungen drin stehen …

Wenn es Einstellungen zu speichern gibt, kümmert sich Qt schon ums Speichern. Im Programm musst Du nur dafür sorgen, dass Du die Einstellungen aus der Oberfläche entsprechend in die Einstellungen einträgst.

hakaishi

(Themenstarter)
Avatar von hakaishi

Anmeldungsdatum:
28. April 2008

Beiträge: 525

Lunar schrieb:

Ja und? Wenn Du keine Einstellungen änderst, dann wird natürlich auch keine Datei erzeugt. Warum auch? Die Datei ist schließlich ziemlich überflüssig, wenn da nur die eh im Programm bereits vorhandenen Standard-Einstellungen drin stehen …

Wenn es Einstellungen zu speichern gibt, kümmert sich Qt schon ums Speichern. Im Programm musst Du nur dafür sorgen, dass Du die Einstellungen aus der Oberfläche entsprechend in die Einstellungen einträgst.

Dann müsste ich a) einen Button o.ä. hinzufügen, der die Einstellungen speichert, oder b) jede Änderung speichern lassen (was ziemlich blöd ist).

BodomBeachTerror

Anmeldungsdatum:
24. März 2008

Beiträge: 788

Oder du speicherst alles wenn das Programm sich beendet, was man normalerweiße tut 😉

hakaishi

(Themenstarter)
Avatar von hakaishi

Anmeldungsdatum:
28. April 2008

Beiträge: 525

BodomBeachTerror schrieb:

Oder du speicherst alles wenn das Programm sich beendet, was man normalerweiße tut 😉

Habe ich doch gesagt.
ABER ich möchte Standardeinstellungen festlegen können, also bleibt nur der zusätzliche Button (o.ä.).

Ich könnte natürlich auch erst abfragen, ob die Keys schon existieren und dann die Werte übergeben. - Ich glaube, das mache ich.

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

@hakaishi: Sag mal, hast Du unsere Beiträge überhaupt gelesen? Ich habe Dir schon zwei Mal erklärt, wie man Standardeinstellungen programmatisch festlegt. Die werden natürlich nicht in der Einstellungsdatei gespeichert, nur warum möchtest Du unbedingt die Standardeinstellungen speichern?

BodomBeachTerror

Anmeldungsdatum:
24. März 2008

Beiträge: 788

hakaishi schrieb:

BodomBeachTerror schrieb:

Oder du speicherst alles wenn das Programm sich beendet, was man normalerweiße tut 😉

Habe ich doch gesagt.
ABER ich möchte Standardeinstellungen festlegen können, also bleibt nur der zusätzliche Button (o.ä.).

Ich könnte natürlich auch erst abfragen, ob die Keys schon existieren und dann die Werte übergeben.

Versteh ich jetzt leider nicht ganz, Sorry^^

Du hast doch schon die Standardeinstellungen übergeben Oo

zb: shutd->setChecked(settings.value("CheckBoxes/shutdown", false)

da ist doch dann false der Standard.

hakaishi

(Themenstarter)
Avatar von hakaishi

Anmeldungsdatum:
28. April 2008

Beiträge: 525

Lunar schrieb:

@hakaishi: Sag mal, hast Du unsere Beiträge überhaupt gelesen? Ich habe Dir schon zwei Mal erklärt, wie man Standardeinstellungen programmatisch festlegt. Die werden natürlich nicht in der Einstellungsdatei gespeichert, nur warum möchtest Du unbedingt die Standardeinstellungen speichern?

Weil es nervig wäre jedes Mal wenn ich etwas aus irgendeinem Grund geändert habe und das Programm wieder starte wieder rückgängig zu machen.

BodomBeachTerror

Anmeldungsdatum:
24. März 2008

Beiträge: 788

hakaishi schrieb:

Lunar schrieb:

@hakaishi: Sag mal, hast Du unsere Beiträge überhaupt gelesen? Ich habe Dir schon zwei Mal erklärt, wie man Standardeinstellungen programmatisch festlegt. Die werden natürlich nicht in der Einstellungsdatei gespeichert, nur warum möchtest Du unbedingt die Standardeinstellungen speichern?

Weil es nervig wäre jedes Mal wenn ich etwas aus irgendeinem Grund geändert habe und das Programm wieder starte wieder rückgängig zu machen.

Hä wieso willst du denn die Einstellungen rückgängig machen?

hakaishi

(Themenstarter)
Avatar von hakaishi

Anmeldungsdatum:
28. April 2008

Beiträge: 525

Versteh ich jetzt leider nicht ganz, Sorry^^

Du hast doch schon die Standardeinstellungen übergeben Oo

zb: shutd->setChecked(settings.value("CheckBoxes/shutdown", false)

da ist doch dann false der Standard.

Das kann der Anwender dann aber nicht mehr ändern.

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

@hakaishi: Aha … und warum sollte der Benutzer den Standardwert ändern? Kann es sein, dass Du nicht im Ansatz verstanden hast, wie QSettings tatsächlich funktioniert, und Du deswegen wirklich nochmal die Dokumentation dieser Klasse lesen solltest?

BodomBeachTerror

Anmeldungsdatum:
24. März 2008

Beiträge: 788

hakaishi schrieb:

Versteh ich jetzt leider nicht ganz, Sorry^^

Du hast doch schon die Standardeinstellungen übergeben Oo

zb: shutd->setChecked(settings.value("CheckBoxes/shutdown", false)

da ist doch dann false der Standard.

Das kann der Anwender dann aber nicht mehr ändern.

Doch, wenn es keine Einstellung für "CheckBoxes/shutdown" gibt, dann wird false als Standard genommen, wenn der Benutzer aber die CheckBox anklickt, wird true als Einstellung gespeichert und somit wird dann eben nicht der Standardwert benutzt.