Archiv verlassen und diese Seite im Standarddesign anzeigen : Ich bin zu blöde!
Hallo ihr Experten da draußen!
Ich habe ein Problem, ind zwar bastele ich grade ein bisschen mit QT herum, und bekomme da ein Problem nicht in den Griff. Ich habe ein Widget mit QLineEdits. Von diesem erzeuge ich in meiner main Methode ein neues Objekt. Nun möchte ich den Text (mit setText) der QlineEdits ändern, aber ich weiß nicht wie ich auf diese zugreifen kann. Ich hoffe ihr versteht was ich meine.
#include <qapplication.h>
#include "form2.h"
#include "Speise.h"
int main( int argc, char** argv )
{
Pizza bar = Pizza (1, "FSK", 5, "Fleisch", "Käse", "Schinken","","");
QApplication test( argc, argv );
Form1 foo(0,0, TRUE );
test.setMainWidget(&foo);
//hier möchte ich jetzt auf die Strings von dem Pizza Objekt zugreifen, aber wie sage ich es //dem compiler?
foo.show();
test.exec();
return 0;
}
Danke und Grüße
fs111
axeljaeger
26-08-2002, 17:05
Da müsste ich mal den Quelltect vom Pizza-Objekt haben. Aber solche initialisierungen würde ich in den Kostruktor vom Pizza-Objekt schreiben. Wenn es keine initialisierungen sind, halt entsprechnde get/set-Methoden implentieren.
hier ist sie. Wäre echt nett, wenn Du mir helfen könntest.
Danke und Grüße
fs111
TheDodger
27-08-2002, 05:33
Original geschrieben von fs111
Hallo ihr Experten da draußen!
Ich habe ein Problem, ind zwar bastele ich grade ein bisschen mit QT herum, und bekomme da ein Problem nicht in den Griff. Ich habe ein Widget mit QLineEdits. Von diesem erzeuge ich in meiner main Methode ein neues Objekt. Nun möchte ich den Text (mit setText) der QlineEdits ändern, aber ich weiß nicht wie ich auf diese zugreifen kann. Ich hoffe ihr versteht was ich meine.
#include <qapplication.h>
#include "form2.h"
#include "Speise.h"
int main( int argc, char** argv )
{
Pizza bar = Pizza (1, "FSK", 5, "Fleisch", "Käse", "Schinken","","");
QApplication test( argc, argv );
Form1 foo(0,0, TRUE );
test.setMainWidget(&foo);
// hier möchte ich jetzt auf die Strings von dem Pizza Objekt zugreifen,
// aber wie sage ich es dem compiler?
foo.show();
test.exec();
return 0;
}
Wie wäre es mit
QString zutat1 = bar.getZutat1();
QString zutat2 = bar.getZutat2();
.
.
.
String zutat1 = bar.getZutat1();
QString zutat2 = bar.getZutat2();
OK, das kann ich machen. Dann muss ich aber zuerst die Strings in meiner Speise.cpp ins QStrings umwandeln. Wenn das dann steht, muss ich aber irgendwie Zugriff auf die Gui Elemente bekommen. Wie sage ich ihm denn, dass er jetzt den QLineEdit blafasel aud meinem Form1 foo damit belegen soll? In Java macht man sowas ja mit der Punkt Notation, also mit foo.irgendeinElement.setText("einString"); Geht das hier auch so?
fs111
axeljaeger
27-08-2002, 12:48
Das wird nichts werden.
foo.irgendeinElement.setText("einString");
So in etwa müsste es aussehen:
foo.getIrgendeinElement()->setText("Ein string");
Du mußt natürlich noch die Methode getIrgendeinElement() implementieren. Der Pfeiloperator heist, das irgendeinElement ein Pointer ist. Man sollte QWidgets überhaupt nur als Pointer speichern.
Zu den QStrings: Wieso verwendest du zusätzlich std::string? Du müsstest das umwandeln können:
QString(string.c_str());
Damit hatte ich aber schonmal fiese Probleme
OK, Danke erstmal, dann bastel ich erstmal alles nach QString um, und dann suche ich mir einen anderen Ansatz.
fs111
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.