Seite 1 von 2
"Datei speichern" - Dialog || *.EXE verkleinern
Verfasst: 5. Mai 2009 16:40
von lx2
Hi liebe Qt-Fans,
mein erster Beitrag hier im Forum!
Ich hoffe Ihr könnt einem C++-/Qt-Neuling weiterhelfen.
Also...
Ich habe mit Qt Creator bereits ein simples GUI mit 3 Elementen erstellt:
1 Line Edit - Widget : Hier kann man manuell einen Pfad eingeben
1 Erstellen Button: Hier wird in dem angegebenen Pfad eine Datei geschrieben.
1 Durchsuchen Button: Hier sollte der Windows "Datei speichern"-Dialog aufgemacht werden um den Pfad per klick zu definieren.
Des Weiteren hab ich schon 2 Slots für die Buttons eingerichtet, und das schreiben der Datei Funktioniert schon einwandfrei. Das Problem ist der "Datei speichern"-Dialog. Ich krieg den einfach nicht hin.
Die letzten 3 Stunden googeln haben kein sinnvolles Ergebnis gebracht.
Das besondere Problem ist, dass ich nicht die MFC (Microsoft Foundation Classes) verwenden kann , da ich ja mit Qt Creator arbeite und nicht mit .net oder irgendwelche anderen "C++-Abwandlungen"
solche Sachen wie
kommen also leider nicht in Frage.
kann mir einer weiterhelfen. Vielleicht liegt das auch an einer Verständnislücke.
Verfasst: 5. Mai 2009 16:42
von Christian81
Verfasst: 5. Mai 2009 16:42
von franzf
Warum nimmst du nicht den QFileDialog?
Verfasst: 5. Mai 2009 18:13
von lx2
Super nett von Euch (und sogar genau zum gleichen Zeitpunkt

) !
Nur leider hilft einem "blutigen Anfänger" wie mir eine Klassen Referenz nicht wirklich weiter. Auf jeden fall schon mal sehr gut zu wissen, dass in Qt selber so etwas integriert ist.
Habt Ihr vielleicht ein Link zu einem Lauffähigen Programm bzw. einen Sourcecode der QFileDialog , zum Dateisystem dursuchen, benutzt? (am besten Qt 4.5 kompatiebel)
Da kann ich nach längerem googeln leider auch nichts finden.
(Bin bestimmt mal wieder zu blöd die richtigen Suchbegriffe einzugeben)
Danke nochmal!
Verfasst: 5. Mai 2009 18:16
von Christian81
Einfach mal die Doku lesen? Dort gibt es genug Infos und auch einen Hinweis wo es mehr Infos gibt ('See also QDir, QFileInfo, QFile, QPrintDialog, QColorDialog, QFontDialog, Standard Dialogs Example, and Application Example.')
Verfasst: 5. Mai 2009 21:14
von neuschi
lx2 hat geschrieben:
Nur leider hilft einem "blutigen Anfänger" wie mir eine Klassen Referenz nicht wirklich weiter.
Naja, ein Blick in die Doku sollte dir zeigen, dass das weit mehr als nur eine Klassenreferenz ist!
lx2 hat geschrieben:
Auf jeden fall schon mal sehr gut zu wissen, dass in Qt selber so etwas integriert ist.
Aber logo!
lx2 hat geschrieben:
Habt Ihr vielleicht ein Link zu einem Lauffähigen Programm bzw. einen Sourcecode der QFileDialog , zum Dateisystem dursuchen, benutzt? (am besten Qt 4.5 kompatiebel)
Da kann ich nach längerem googeln leider auch nichts finden.
Nun ja,
Code: Alles auswählen
QString meinFile = QFileDialog::getSaveFileName (0, "Datei wählen", QString(), "*.xml" );
ist nicht soo schwer zu finden, oder?
\Ralf
Verfasst: 5. Mai 2009 21:59
von lx2
Code: Alles auswählen
QString meinFile = QFileDialog::getSaveFileName (0, "Datei wählen", QString(), "*.xml" );
V I E L E N D A N K ! ! !
Muss noch ein bisschen lernen mit der Doku schneller umzugehen... ist tatsächlich nicht sooo einfach zu finden. Aber Ihr seid euer Geld wert

Verfasst: 5. Mai 2009 22:59
von cooky1976
Welches Geld?? Habe ich da irgendwann was überlesen ;-)
Verfasst: 6. Mai 2009 08:08
von neuschi
lx2 hat geschrieben:
V I E L E N D A N K ! ! !
Muss noch ein bisschen lernen mit der Doku schneller umzugehen... ist tatsächlich nicht sooo einfach zu finden. Aber Ihr seid euer Geld wert

Soll ich dir meine Kontonr. geben?!
Aber im Ernst: Wenn du im Assistant die Doku zu "QFileDialog" aufrufst, dann steht in der ersten Zeile:
"The QFileDialog class provides a dialog that allow users to select files or directories. More..."
Wenn du dann auf "More" klickst kommst du in die detaillierte Info und hier steht in der dritten Zeile:
Code: Alles auswählen
The easiest way to create a QFileDialog is to use the static functions.
fileName = QFileDialog::getOpenFileName(this,
tr("Open Image"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)"));
Wie soll das denn noch einfacher gehen?!
\Ralf
Verfasst: 6. Mai 2009 08:48
von RavenIV
neuschi hat geschrieben:
Aber im Ernst: Wenn du im Assistant die Doku zu "QFileDialog" aufrufst, dann steht in der ersten Zeile:
...
...
Wie soll das denn noch einfacher gehen?!
Er hat doch geschrieben, dass er blutiger Anfänger ist.
Dann sollte man ihm doch auch beschreiben, was der Assistant ist.
Der Qt-Assistant ist das Programm zum Anschauen der Qt-Hilfe.
Zu finden hier: Start -> Programme -> Qt-Verzeichnis -> Assistant
Der Qt-Assistant ist eines der besten Hilfe-Programme, die ich bisher gesehen habe. Und die Hilfe zu Qt steht dem in keinem Deut nach.
Verfasst: 6. Mai 2009 08:54
von neuschi
RavenIV hat geschrieben:
Er hat doch geschrieben, dass er blutiger Anfänger ist.
Dann sollte man ihm doch auch beschreiben, was der Assistant ist.
1. Hat er geschrieben, dass er QtCreator nutzt, da ist der Assistant integriert. Einfach auf "Help" klicken.
2. Hat man ihm einen Link zur Online-Doku geschickt. Der Inhalt ist exakt der gleiche wie im Assistant.
Auch (bzw. gerade) ein blutiger Anfänger sollte lesen, lesen, lesen.....
\Ralf
Verfasst: 6. Mai 2009 08:57
von RavenIV
neuschi hat geschrieben:
Auch (bzw. gerade) ein blutiger Anfänger sollte lesen, lesen, lesen.....
Aber gerade als Anfänger hat man das Problem, dass man von der Information erschlagen wird und nicht weiss, wo man zuerst lesen soll.
Nicht jeder ist so clever, erst mal F1 zu drücken oder auf der Platte nach einer Hilfe oder Doku zu suchen. Auch kann nicht jeder mit google und der Foren-Suchfunktion umgehen.
Zeigt den Anfängern, wo sie Hilfe finden und ihr seid sie für's Erste los

Verfasst: 6. Mai 2009 09:16
von neuschi
RavenIV hat geschrieben:
Aber gerade als Anfänger hat man das Problem, dass man von der Information erschlagen wird und nicht weiss, wo man zuerst lesen soll.
Stimmt, deswegen hat ja jemand den Link zur Hilfe zu QFileDialog gepostet.
RavenIV hat geschrieben:
Nicht jeder ist so clever, erst mal F1 zu drücken oder auf der Platte nach einer Hilfe oder Doku zu suchen.
Du kennst den QtCreator nicht, oder?
RavenIV hat geschrieben:
Zeigt den Anfängern, wo sie Hilfe finden und ihr seid sie für's Erste los

Ja, aber alles vorkauen und in den Hals spucken hilft auf Dauer nicht...
\Ralf
Verfasst: 6. Mai 2009 09:20
von RavenIV
neuschi hat geschrieben:
Ja, aber alles vorkauen und in den Hals spucken hilft auf Dauer nicht...
Um mal bei dem bildlichen Vergleich zu bleiben:
Du ja auch nicht alles vorkauen.
Führ ihn dahin, wo es was zu Essen gibt.
Zeig ihm, wie man kaut und runterschluckt.
Den Rest muss er dann selber erledigen.
Verfasst: 6. Mai 2009 09:28
von AuE
Wo wir grade dabei sind ....
Give a man a fish; you have fed him for today. Teach a man to fish; and you have fed him for a lifetime. Teach a man to sell fish and he eats steak