ImageViewer erweitern (C++, Qt)

slackfr

slackfr

Aktives Mitglied
Thread Starter
Dabei seit
20.02.2006
Beiträge
425
Reaktionspunkte
1
Hallo,
ich muss für mein Prof einen Imageviewer erstellen, der mehrere Dateien öffnen kann, und man diese dann mittels buttons (oder pfeiltasten) hin und her schalten kann. Das ganze in C++, Qt.

Ich habe in dem Tutorial von Qt schon eine simplen ImageViewer gefunden, jetzt müsste ich ihn erweitern.

Habe mir gedacht die Dateinamen in einem aray abzuspeichern und diese dann abzufragen.
Wie kann ich dies erreichen?


P.S. habe mit Qt erst seit gestern angefangen ;)
 
indem du einfach ein array von file structs machst...
array hat aber natürlich den nachteil, dass du nur eine begrenzte anzahl hast...
klar, du kannst das array groß machen, aber dann verschwendest du speicher ;)
 
könntest du es bitte hier vormachen?
 
Zuletzt bearbeitet:
Es wäre wahrscheinlich hilfreich, wenn du mal genau sagen würdest

* Was genau Dein Ziel ist

* Was genau Dein Problem ist

Alex
 
sollte man nicht so langsam ein unterforum für haus-/übungsaufgaben hilfe machen? ;)
 
Wahrscheinlich direkt zwei:

1) Ich habe ein echtes Verständnisproblem

2) Schickt mir einfach die fertige Lösung

Alex
 
ok, ich will den imageviewer erweitern, so das ich mehrere dateien
auswählen kann, und diese dann im dem programm eben anzeigen, wie oben beschrieben.
ich weis nicht wie ich mehrere dateien so einlesen kann. (zuerst mal dazu)
 
below schrieb:
Wahrscheinlich direkt zwei:

1) Ich habe ein echtes Verständnisproblem

2) Schickt mir einfach die fertige Lösung

Alex


hehe..du klannst gedanken lesen :D

eine fertiger lösung muss es nicht sein, jedoch wäre es toll wenn ihr mir auf die sprüge helfen könntet
 
ich dachte mir das man es in diesem code-teil irgend wie eingleidern müsste:

Code:
void ImageViewer::open()
 {
     QString fileName = QFileDialog::getOpenFileName(this,
                                     tr("Open File"), QDir::currentPath());
     if (!fileName.isEmpty()) {
         QImage image(fileName);
         if (image.isNull()) {
             QMessageBox::information(this, tr("Image Viewer"),
                                      tr("Cannot load %1.").arg(fileName));
             return;
         }
         imageLabel->setPixmap(QPixmap::fromImage(image));
         scaleFactor = 1.0;

         printAct->setEnabled(true);
         fitToWindowAct->setEnabled(true);
         updateActions();

         if (!fitToWindowAct->isChecked())
             imageLabel->adjustSize();
     }
 }
 
kommt darauf an, wie du es haben willst...
die dateien im speicher oder nur auf platte ;)
da bilder recht groß werden können, wäre auf platte besser...

ansonsten öffnest du halt das file, reservierst den speicher in filegröße und liest es ein.

auf platte behältst du einfach einen zeiger auf das file und liest es erst ein, wenn du den button drückst...
 
slackfr, das Problem ist, das Du erstmal das grosse Ganze betrachten musst, bevor Du Dich mit den Details beschäftigsts.

Wie 108 schon sagte, wo sollen die Bilder sein, wie werden sie angezeigt etc. etc. etc.

Ohne dir zu nahe treten zu wollen: Welche Erfahrung hast Du mit OO Programmiersprachen?

Alex
 
below schrieb:
slackfr, das Problem ist, das Du erstmal das grosse Ganze betrachten musst, bevor Du Dich mit den Details beschäftigsts.

Wie 108 schon sagte, wo sollen die Bilder sein, wie werden sie angezeigt etc. etc. etc.

Ohne dir zu nahe treten zu wollen: Welche Erfahrung hast Du mit OO Programmiersprachen?

Alex


nicht sehr griße, leider..erbeite mich dacher ein....

die dateien sollten schon auf der platte verbeliebn, und dann beim kicken erst eingelesen werden..es sind immer png dateien
 
beim auswählen der dateien im fenster, gibt mir das ImageViewer immer nur die möglichkeit nur "eine" datei auszuwählen, wie krige ich es hin, dass ich mehrere dateien makieren kann?
wie wird dieses auslesen der dateien weiter verarbeitet, bzw an das programm übergeben?
 
Jetzt muss ich etwas böse werden:

Ich komm mir vor wie in der Vorlesestunde. Was steht in Deinem Code:

"QFileDialog::getOpenFileName"

Hrm, naja, was könnte man da machen? RTFM für QFileDialog wäre doch eine gute Idee. Und was findet man da? getOpenFileNames "This is a convenience static function that will return one or more existing files selected by the user."

Ja, ich bin selber schuld das ich Antworte. Aber echt, Du kannst dich doch mal für 50 Pfennig selber schlaumachen. :koch:

Alex
 
soweit habe ich mich auch schon schlau gemacht..trozdem danke
 
Zurück
Oben Unten