Problem mit Variablen

Alles rund um die Programmierung mit Qt
Antworten
DigtialSpawn
Beiträge: 5
Registriert: 23. September 2004 16:37

Problem mit Variablen

Beitrag von DigtialSpawn »

Hi,mein eigentliches Problem: ich will in einem Dialog auf Variablen bzw Elemente eines anderen Dialogs zugreifen.

da es ja keine globalen Variablen in C++ gibt(stimmt doch?)
hab ich es mit Pointern versucht,und habs natürlich nich geschafft.

also wenn ich zB in der DialogKlasse A einen int* pointer hab und den dann ,
bevor der Dialog geschlossen wird,auf den Wert setze den ich dann später im Dialog B verwenden will; wie ruf ich den dann in B richtig auf???

...
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Re: Problem mit Variablen

Beitrag von Goos »

DigtialSpawn hat geschrieben: da es ja keine globalen Variablen in C++ gibt(stimmt doch?)
Noe stimmt nicht wirklich, aber es ist besser wenn du glaubst, dass es stimmt ;) (solltest wirklich keine globalen Variablen benutzen)
DigtialSpawn hat geschrieben: Hi,mein eigentliches Problem: ich will in einem Dialog auf Variablen bzw Elemente eines anderen Dialogs zugreifen.
Du weisst schon, dass das hier ein QT-Forum ist? ;)
...und du hast weiterhin mal mindestens 10 Minuten investiert um dich in die grundlegendsten Grundlagen von QT (wie z.B. Signals & Slots) einzuarbeiten?

Falls ja, dann kannst du per Signal und Slot deine Variablen uebertragen.
Wenn nicht, dann solltest dich erstmal noch ein wenig mit QT Grundlagen beschaeftigen, sonst wird das nix, auch wenn wir dir hier helfen.
:)

In diesem Sinne noch viel Erfolg

Goos
DigtialSpawn
Beiträge: 5
Registriert: 23. September 2004 16:37

Beitrag von DigtialSpawn »

hmm erstens:mir ist vollkommen klar,dass dat hier ein Qt Forum ist
und zweiten weiss ich auch was slots und signals sind aber ich weiss immernochnich wie ich damit mein Problem gelöst bekomme.

Ich kann zwar innerhalb eines Dialoges alle objekte connecten,aber wie genau bekomme ich jetz zB den wert einer SpinBox(aus einem Dialog),in
eine andere SpinBox,nachdem der erste Dialog längst geschlossen ist?

und ja ich hab in den Manuals nachgesehn(und nix passendes gefunden )
trotzdem danke
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

Na siehste, geht doch schon viel besser :)

Die wichtigste Frage dazu waere:
Wieso willst du den Wert erst holen, wenn der Dialog laengst geschlossen ist. Standardvorgehen waere wohl eher den Wert der SpinBox zu uebergeben sobald er sich aendert.
Was fuer ein Ziel verfolgst du damit?

...und was genau ist bei dir "nachdem der erste Dialog laengst geschlossen ist"?
Ist da zumindest dein Parent Window noch vorhanden?

Goos
DigtialSpawn
Beiträge: 5
Registriert: 23. September 2004 16:37

Beitrag von DigtialSpawn »

na nehmen wir mal an in dem ersten Dialog gibt der User allemöglichen
Werte ein -> das Ding wird geschlossen -> ein neuer Dialog(kein Child) wird geöffnet -> und jetz hätte ich gerne die Werte

gibts ne Möglichkeit die Werte irgentwie zu speichern?denn wenn keine Verbindung zwischen den Dialogen besteht is das doch schwierig oder?
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

DigtialSpawn hat geschrieben:na nehmen wir mal an in dem ersten Dialog gibt der User allemöglichen
Werte ein -> das Ding wird geschlossen -> ein neuer Dialog(kein Child) wird geöffnet -> und jetz hätte ich gerne die Werte
Kein Child?
Damit meinst wahrscheinlich kein Child vom ersten Dialog?
Das Ganze ist wohl ansich eine Designfrage.
Ich nehme mal an, dass du aus irgendeiner Klasse heraus sowohl den ersten als auch den zweiten Dialog erzeugst.
In dieser Klasse hast ja dann Zugriff auf beide Dialoge.
Du kannst also Beispielsweise dem Konstruktor des zweiten Dialogs die Werte gleich mitgeben die du ueber entsprechende Methoden zuvor aus dem ersten Dialog ausgelesen hast.
Es kommt nun aber ganz auf den Einzelfall an, ob du nicht vielleicht an anderer Stelle deine Datenhaltung machen solltest.

Goos

PS: Bist du eigentlich Designer Nutzer oder machst alles von Hand?
DigtialSpawn
Beiträge: 5
Registriert: 23. September 2004 16:37

Beitrag von DigtialSpawn »

also ich die schon gern mit dem Konstucktor mitgeben,aber wie kann ich dem standart QDialog-Konstrucktor mit 4 Parametern jetz meine extra Parameter übergeben?
DigtialSpawn
Beiträge: 5
Registriert: 23. September 2004 16:37

Beitrag von DigtialSpawn »

ok ok habs jetz
hab die Werte jetz als Parameter dem Konstuckter übergeben
(war so simple und doch so schwer)

na auf jeden Fall thx für die Anregung :D
john
Beiträge: 110
Registriert: 14. August 2004 20:55
Wohnort: München

Beitrag von john »

Hallo DigtialSpawn,

du hast den Konstrukteur aber nicht mit dem QT-Designer geändert, sondern extern oder?

Ich stehe vor dem Problem, dass ich einen Dialog, den ich gerade im Designer erstellt habe mehrere Parameter im Konstrukteur übergeben muss. Aber ich finde im Designer keine Möglichkeit den Konstrukteur zu bearbeiten, bzw. Member-Variablen der Klasse hinzuzufügen.

Vermutlich hast du deinen Dialog vererbt und so deinen Konstrukteur die Parameter mit übergeben. Richtig?

Grüße John
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

john hat geschrieben: Vermutlich hast du deinen Dialog vererbt und so deinen Konstrukteur die Parameter mit übergeben. Richtig?

Grüße John
Ja hat er mit Sicherheit. Das ist so die uebliche Methode wenn man mit dem Designer arbeitet :)

Goos
Antworten