mir ist Qt sehr ans Herz gewachsen in letzter Zeit, somit bin ich auch sofort in den Genuss gekommen die neue 4.4 einmal zu testen. Dabei sofort aufgefallen ist mir die SharedMemory-Funktionalität.
Wenn ich das jetzt richtig verstehe: Sobald ich ', sharedMemory("Test")' an einen Konstruktor anhänge, wird eine Variable "Test" im Speicher abgelegt, auf die jeder Prozess mittels eines Streams zugreifen kann.
Nun habe ich zwei Fragen:
1) Was aber wenn ich nicht nur eine Variable abspeichern und abfragen möchte, sondern ein ganzes struct? Ich habe zB ein Widget, das mir eine Reihe von Daten ausgeben soll. Diese Daten werden weiter unten in einem Thread generiert. Muss ich dann für jeden Wert schreiben ', sharedMemory("Var1") ...'?
2) Was ist, wenn sich die Daten im Thread laufend ändern, und ich diese Daten stets aktuell angezeigt haben möchte? Muss ich dann (als Beispiel) alle zwei Sekunden einmal den SharedMemory abfragen? In diesem Falle wäre eine Art Signal/Slot sehr fein.
Code: Alles auswählen
connect(sharedMemory, SIGNAL(dataChanged(data)), this, SLOT(DataHasChanged(data)));Mfg KK