"Datei speichern" - Dialog || *.EXE verkleinern

Alles rund um die Programmierung mit Qt
lx2
Beiträge: 75
Registriert: 5. Mai 2009 03:13

"Datei speichern" - Dialog || *.EXE verkleinern

Beitrag 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

Code: Alles auswählen

CFileDialog(...);
kommen also leider nicht in Frage.

kann mir einer weiterhelfen. Vielleicht liegt das auch an einer Verständnislücke.
Dateianhänge
Mein GUI
Mein GUI
dateiersteller.png (2.13 KiB) 7788 mal betrachtet
Sowas sollte geöffnet werden, nur WIE?
Sowas sollte geöffnet werden, nur WIE?
dateispeichern.jpg (32.89 KiB) 7788 mal betrachtet
Zuletzt geändert von lx2 am 7. Mai 2009 14:36, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Warum nimmst du nicht den QFileDialog?
lx2
Beiträge: 75
Registriert: 5. Mai 2009 03:13

Beitrag von lx2 »

Super nett von Euch (und sogar genau zum gleichen Zeitpunkt :D ) !

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!
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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.')
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
neuschi
Beiträge: 78
Registriert: 23. Mai 2007 10:59

Beitrag 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
lx2
Beiträge: 75
Registriert: 5. Mai 2009 03:13

Beitrag 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 ! ! ! :D

Muss noch ein bisschen lernen mit der Doku schneller umzugehen... ist tatsächlich nicht sooo einfach zu finden. Aber Ihr seid euer Geld wert :)
cooky1976
Beiträge: 76
Registriert: 24. Januar 2008 00:19

Beitrag von cooky1976 »

Welches Geld?? Habe ich da irgendwann was überlesen ;-)
neuschi
Beiträge: 78
Registriert: 23. Mai 2007 10:59

Beitrag von neuschi »

lx2 hat geschrieben:
V I E L E N D A N K ! ! ! :D

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
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Beitrag 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.
Linux, das längste Text-Adventure aller Zeiten
neuschi
Beiträge: 78
Registriert: 23. Mai 2007 10:59

Beitrag 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
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Beitrag 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 ;-)
Linux, das längste Text-Adventure aller Zeiten
neuschi
Beiträge: 78
Registriert: 23. Mai 2007 10:59

Beitrag 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
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Beitrag 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.
Linux, das längste Text-Adventure aller Zeiten
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag 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
Antworten