Seite 1 von 2

QWidget in bestehendes Programm einbinden

Verfasst: 4. Oktober 2005 08:08
von not_a_hirsch
Hallo Zusammen

Ich arbeite noch nicht lange mit QT. Kleine QT hab ich schon erstellt. Nun geht es aber darum dass ich eine GUi auf ein bestehendes C++ Progrämmchen erstellen muss. Das funktioniert ja. Aber wie kann auf die Methoden der Klassen zugegriffen werden? (vererbte Klasse)
Ist das überhaupt sinnvoll? (so war leider die Aufgabe, dass man auf diese Klasse eine neue mit QWidget erstellt)

Verfasst: 4. Oktober 2005 12:44
von lepsai
Ich muss ehrlich sagen, ich habe nix verstanden. Koenntest du vielliecht deinen Gedanken etwas besser formulieren. Dann kann man dir besser helfen. Also noch mal: Was hast du? Was genau willst du erreichen? Usw.

Verfasst: 4. Oktober 2005 14:44
von not_a_hirsch
Ok ich versuchs ...

Ich musste ein programm schreiben das das amerikanische und das deutsche Datumsformat ausgibt. Ich hatte eine Vorlage und zwar dass die Hauptklasse Datum ist und dann an DatumFormat vererbt. Nun das ist bis jetzt ok. Das läuft.

Nun musste ich eine neue Klasse erstellen die von QWidget erbt und eine GUI für dieses Programm erstellen. Nun hab ich folgendes Problem:

In dem DatumFormat habe ich die Methoden die das Datum in einen String verwandeln und ausgeben. Nun will ich diese Methoden und Objekte etc in der FormatGUI zur Verfügung haben. Nur wie? Ich blick einfach nicht mehr durch

Verfasst: 4. Oktober 2005 15:02
von FlorianBecker
Dann machst du ein QDateEdit und fügst dort das Datum ein!?

Verfasst: 4. Oktober 2005 15:04
von lepsai
Alter Schwede!

ich habe eine Klasse MyDatum, diese beinhaltet irgend welche Methoden, die ich brauche. Also erstelle ich eine Instanz dieser Klasse und greife auf die Methoden, die ich brauche, zu:

// hier kein Qt
MyDatum d;
std::string s = d.getDatum();

//Qt:
QLineEdit * myOutputWidget= new QLineEdit(0);
myOutputWidget->setText( s.c_str() );

das war's!

Verfasst: 4. Oktober 2005 15:35
von not_a_hirsch
/////////

Verfasst: 4. Oktober 2005 15:45
von lepsai
Sag mal, kannste ueberhaupt lesen?
Ich hab dir doch genau beschrieben, was man genau in diesem fall machen muss!

Verfasst: 4. Oktober 2005 16:14
von klogg
Wowowow immer mit der Ruhe...
(mit so 'nem Akzent betont, wie Chekov es tun würde)

Also hirsch, wir QTler machen gerne alles was wir machen mit QT.
Das heißt, wenn es um irgendwas mit einem Datum geht,
dann benutzen wir die Klasse QDate.
Weil die ganz tolle Sachen kann, ist dir zu empfehlen,
dass einfach auch so zu machen.

Fall du natürlich gerne deine alte Klasse "Date" nutzen möchtest,
solltest du dir das einfach so vorstellen,
dass QT dir dazu dient, einen QString (bzw. String) vom Nutzer zu holen (z.B. mit QLineEdit)
und dein Ergebnis (z.B. mit einem QTextEdit) wieder auszugeben.
Das gleiche (nur einfacher *g*) gilt für Zahlen z.B. mit QSpinBox.

Falls du jetzt das Problem bemerkst, dass QT mit QStrings arbeitet,
du aber Strings brauchst, dann schau dir in der QT Dokumentation die
Klasse QString mal genauer an. Da gibt es z.B.
QString::toStdString()
und dank string::c_str() kannst du den QString Konstruktor verwenden.

HENNING

Verfasst: 4. Oktober 2005 16:18
von lepsai
Wer, zum Teufel, ist Chekov? :)

Verfasst: 4. Oktober 2005 16:24
von not_a_hirsch
Vielen Dank Henning
Ich werde es nun mit QLineEdit versuchen. Viiiiiielen Dank für die Tipps

Verfasst: 4. Oktober 2005 16:34
von Goos
not_a_hirsch hat geschrieben:Nur ist es meine Aufgabe genau das Gegenteil (ich weiss das ist nicht gerade logisch).
Oehmmm...wie bitte was? :D
not_a_hirsch hat geschrieben: Wie schon gesagt ich bin QT-Anfängerin und muss ob ich will oder nicht programmieren :-)
...was soviel heisst, wie du willst nicht? ;)

Wo sind denn die Klassen Datum und DatumFormat von denen du geredet hast?

Goos

Verfasst: 4. Oktober 2005 16:40
von not_a_hirsch
<<Oehmmm...wie bitte was?

:-)

<<...was soviel heisst, wie du willst nicht?

Ganz genau. Da ich es einfach nicht kapiere. Und jetzt noch mit QT bin ich total überfordert.

<<Wo sind denn die Klassen Datum und DatumFormat von denen du geredet hast?

Na die hab ich wieder rausgelöscht... :-)

Verfasst: 4. Oktober 2005 16:42
von Goos
not_a_hirsch hat geschrieben:Na die hab ich wieder rausgelöscht... :-)
Hehe, klasse...das heisst dann, wass dein Problem geloest ist, ja? :)
not_a_hirsch hat geschrieben:Ganz genau. Da ich es einfach nicht kapiere.
Is aber immer auch die Frage, ob mans nicht will, weil mans nicht kapiert....oder ob mans nicht kapiert, weil mans nicht will ;)

Goos

Verfasst: 4. Oktober 2005 16:45
von not_a_hirsch
Neee Goos.....

Um so was zu programmieren musst du mir schon 5 Stunden geben...mindestens. Weil es wird nicht auf anhieb funktionieren.

Verfasst: 4. Oktober 2005 16:49
von lepsai
Ich bin ein sehr toleranter Mensch, aber irgendwann ist es einfach vorbei...

Hoer mal Hirsch, liest du ueberhaupt, was man dir antwortet? Oder haste nur Langweile und willst den Leuten nur auf den Sack gehen? Mehr Informationen kann man zu so einem Thema nicht erwarten. Wenn du nicht in der Lage bist, eine Klassenfunktion aufzurufen, dann musst du dich im Leben auf einem anderen Gebiet beweisen. Hier wird's nix.
Tut mir leid!