Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » KDevelop / Qt / wxWidget » Variablen übergeben

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
27.08.2004, 13:13 Uhr
~zorro
Gast


Hallo!

Ich habe da eine kleine Frage!
Ich möchte den inhalt einer Variable in eine andere Form übergeben!
Weiß jemand wie man das anstellt?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
27.08.2004, 15:13 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


musst du mal genauer schreiben wie du dir das vorstellst...
wenn die steuerelemente beide zu einer klasse gehören kannst du direkt drauf zugreifen an sonsten kannst du dir z.b. einen pointer besorgen auf das objekt dieser klasse besorgen um von einem anderen objekt drauf zuzugreifen...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.08.2004, 10:33 Uhr
~zorro
Gast


Also die beiden steuerelememte gehören nicht zur selben klasse!
Ich habe schon versucht über eine Hader-Datei zu gehen, aber das hat nicht so wirklich funktioniert!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
31.08.2004, 09:25 Uhr
~zorro
Gast



Keiner kann mir helfen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
31.08.2004, 18:41 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


hmm also bei mir ist qt schon länger her und ich vermute mal es gibt schlauere wege aber ich habs damals so gemacht das ich den konstruktor in der klasse in der ich auf eine andere zugreifen will einen zeiger mit übergebe... mit hilfe dieses zeigers hab ich dann zugriff auf die anderen members eines objektes einer klasse...

an sonsten musst du mal warten bis typecast das hier liest, der ist qt experte und kennt vielleicht noch ne einfacherer,elegantere und geschicktere methode...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
31.08.2004, 21:24 Uhr
typecast
aka loddab
(Operator)


Also das was Windalf vorgeschlagen hat, ist eine Moeglichkeit. Allerdings kann es da zu ganz schoen ueblen Querverflechtungen kommen, wenn man dann noch einen Wert zurueckgibt...

Deshlab sollte man so was vermeiden. Qt bietet da dass Signal/Slot Prizip an:

Wenn wir den Variablenwert der von einer Klasse A zu einer Klasse B uebergeben wollen, dann muss in der Senderklasse ein Signal erstellt werden und in der Empfaengerklasse ein dazugehoeriger Slot:


C++:
class A : public QObject {
  Q_OBJECT // das ist sehr wichtig, sonst funktioniert es nicht
  ...
  signals:
     void uebergebeWert(int); wenn wir einen int wert uebergeben wollen
};

class B : public QObject {
  Q_OBJECT // auch hier wichtig
  public slots:
    void bekommeWert(int wert) { /* hier kannst du dann mit dem wert arbeiten, ihn abspeichern... */ }
};



Dann musst du ja irgendwo Instanzen der beiden Klassen erstellen. Zu dem Zeitpunkt verbindest du dann das signal mit dem Slot (hier in der main funktion)


C++:
A sender;
B empfaenger;
QObject::connect(&sender, SIGNAL(uebergebeWert(int)), &empfaenger, SLOT(bekommeWert(int)));



Damit kann jetzt ein Wert uebergeben werden. Jetzt musst du nur noch festlegen, wann der Wert uebergeben wird.
Um den Wert jetzt endgueltig zu uebergeben machst du einfach


C++:
void A::irgendeineFunktio() {
// ....
int irgendeinwert = 10;
emit uebergebeWert(irgendeinwert);
// ....
}



Und schon hast du B den Wert uebergeben.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.09.2004, 08:53 Uhr
~zorro
Gast


Vielen dank für die antwort!

Ich hab da aber noch ein Paar fragen!

1. Kann man das auch mit einem QString machen, oder geht das nur mit nem Integer Wert?

2. Als ich den Quelltext eingebaut habe, und alle Integer zu QString's gemacht habe kam
folgende Fehlermeldung:


Code:
error:stray '\240' in program



Kann mir jemand sagen was der zu bedeuten hat und wie der zu beheben geht?

Mfg

zorro
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
01.09.2004, 22:55 Uhr
typecast
aka loddab
(Operator)


1.) Du kannst alles uebergeben. Ich hab int nur als Beispiel genommen.

2.) Das ist aber eine sehr knappe Fehlermeldung. Mit der kann ich nichts anfangen. Du solltest mal ein paar Zeilen um die Codestelle posten (und wenn da bei der Fehlermeldung noch mehr steht, dann auch noch ein bischen mehr davon).
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
02.09.2004, 00:10 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


du könntest es auch gleich ein wenig dirty machen so wie ich vorgeschlagen habe und ein QWidget* schicken... dann hast du den zeiger auf das Objekt der Klasse und kannst da richtig rumpfuschen
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
02.09.2004, 08:11 Uhr
~zorro
Gast


Also, das mit der Fehlermeldung habe ich hinbekommen!

Irgendwie lag das am einrücken! Kann das sein? Denn ich habe nichts anderes gemacht als die stelle in der die Fehlermeldung war ordendlich eingerückt!

Danke für die Hilfe...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ KDevelop / Qt / wxWidget ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: