QT 4.5
-
Ich würde gerne ein kleines qt 4.5 programm schreiben, welches eine csv Datei einliest und in einer UI ausgibt (welche man nur schließen kann).
Klingt net aufregend, aber das problem ist, dass ich noch nie mit qt gearbeitet habe und dies bzgl. auch keine Dokumentation finde. (Genug über Buttons und so, aber nicht wirklich was ich brauchen kann).Habt ihr ein paar Links oder vielleicht sogar eine einführung, wie und was?
LG
-
Viel mehr als http://doc.trolltech.com/4.5/tutorials.html bereits enthält wirst du doch nicht benötigen, oder? C++ kannst du ja bereits, oder?
MfG SideWinder
-
Die Qt Dokumentation is wohl die beste die es gibt. Einfach mal dort die Tutorials anschauen und in der Dokumentation herumschauen.. Sofern man sein Hirn nicht abgeschaltet hat findet man so die Lösung seines Qt Problems in 95 % der Fälle.
-
Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum Andere GUIs - Qt, GTK+, wxWidgets verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Versuch mal die IDE (QCreator) für Qt die übernimmt 95% der Arbeit (Makefile usw.) für dich, ausserdem ist sie ein guter Startpunkt um die Beispiele anzuschauen.
Versuch ein Beispiel zu finden welches deinem Problem ähnlich ist und erweitere es ...Übersicht zB:
http://doc.trolltech.com/4.5/examples.htmlFür eine simple cvs Anwendung sollten eine QMainWindow Gui mit 1 Knopf (connect to QFileDialog um File zu finden/zu öffnen) und ein(ige) QTextEdit/QLineEdit/QLabel als Ausgabe genügen
Zum parsen empfehle ich (QDir/QFile,) QString und QStringList als Startpunkte:
QList<QList<QVariant>> allLines; QFile file("in.txt"); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) return; QTextStream in(&file); while (!in.atEnd()) { QString line = in.readLine(); allLines.append(process_line(line)); } file.close();
QList<QVariant> process_line(const QString &line) { QList<QVariant> liste; bool testIfOk=true; QStringList parts =line.split(","); // QString::SkipEmptyParts if needed /* // parsing, using testIfOk to check which works for (int i=0; i < parts.size(); ++i) { double doub = parts.at(i).toDouble(testIfOk); if (testIfOk) liste.append(QVariant(doub)); int integ = parts.at(i).toInt(testIfOk); if (testIfOk) liste.append(QVariant(integ)); // usw. evtl. eleganter wenn dur weißt welche Datentypen im CSV sind } */ // Alternativ: // foreach(QString item,parts) }