Seite 1 von 1

QSettings schreibt nicht, QImage lädt nicht...

Verfasst: 2. September 2009 00:51
von mcfloppy
Hallo Leute,
ich habe mir unter Vista 64bit Ultimate die QT Version mit Mysql gebaut. Dabei habe ich die config von der Anleitung hier im Forum übernommen.

http://www.qtforum.de/forum/viewtopic.php?t=5343

Nun schreibt weder mein QSettings seine Datei, noch öffnet QImage das Logo. Qimage hat bei "isNull" true.
Unter der bei dem QTCreator mitgelieferten QTVersion geht alles.

Könnt ihr euch vorstellen was los ist? MySQL Support geht :)

LG

Verfasst: 2. September 2009 10:09
von mcfloppy
Hallo :)
Nun nochmal im Wachzustand. Im Anhang ist eine PDF, erstellt mit dem Programm im Anhang, Kompiliert unter dem QT des SDK von Nokia. Nach dem Kompilieren einfach das Bild in den ordner Debug bzw Release kopieren.

Verfasst: 2. September 2009 10:15
von mcfloppy
Mist.... das Tool geht.. nur die frage wieso der gleiche code in meinem anderen Programm nicht geht... Dieses kann ich euch nicht schicken da die MySQL umgebung bei euch fehlt

Verfasst: 2. September 2009 11:35
von mcfloppy
hmmm ich glaub ich führe selbstgespräche :)
kann es sein dass mir da irgendwelche kollisionskontrollen vom vista in die queere kommen? in dem TestTool mache ich alles aus einer Klasse herraus, wärend ich in meinem Einstellungstool mehrere Klassen hab, da die Einstellungen in einem eigenen Dialog vorgenommen werden.
Hab nun folgendes jedoch ohne erfolg probiert:

Im Header der Hauptdatei (hier die cpp des eigentl. Programmfensters):

Code: Alles auswählen

public:
...
        QSettings *settings;
...
Dann im Konstruktor der Hauptdatei die Settings gesetzt, einlesen klappt dort auch (hab die config ausm linux rübergezogen).

Code: Alles auswählen

void mainwindow::ladeKonfiguration() {
        //Setting-File laden
        QString home = QDir::toNativeSeparators(QDir::homePath());
        home += QDir::separator();
        home += ".boo";
        home += QDir::separator();
        home += "boo.ini";
        settings = new QSettings(home, QSettings::IniFormat, this);
}
Nun rufe ich den dialog so auf:

Code: Alles auswählen

        einstellungen dialog;
        dialog.setzeSettings(settings);
        dialog.exec();
Worauf auf der gegenseite im heder folgendes steht:

Code: Alles auswählen

 public:
...
     void  setzeSettings(QSettings *sets);

    private:
        QSettings *settings;
und folgendes unterprogram reagiert:

Code: Alles auswählen

void  einstellungen::setzeSettings(QSettings *sets){
        // Einstellungsdatei laden:
        settings = sets;
}
Im Einstellungsdialog kann ich zwar die Config auch lesen, aber nicht hineinschreiben... trotz sync vor dem beenden. Fehler wirft er auch keine.
Habe ich da ein Denkfehler?

Verfasst: 2. September 2009 11:47
von mcfloppy
So.... hab nen Kaffe getrunken und nochmal bissle debuggt. Der fehler ist mir peinlich. Der Sync wurde nie ausgeführt. Nun geht das Speichern. Jetzt gehe ich an das Imageproblem.

Ich lasse das ganze mal für andere stehen die ähnliche Probleme haben. Soll ich mein Testprogramm von oben irgendwo bereitstellen, so dass andere schauen können wie man druckt?