Qt-Typen per Netzwerk übertragen
Verfasst: 18. Mai 2010 22:58
Hi,
Ich würde gerne Variablen verschiedenen Types(alle Qt-Datentypen) übers Netzwerk verschicken. Dabei gebe ich den Namen des Types sowie den Inhalt der Variable an(Gegeben ist ein QVariant dessen Typ und Wert ich auslesen kann). Zum Auslesen der Werte nehme ich den >> Operator von QDataStream, der für jeden Qt-Datentyp implementiert ist.
Jetzt weiß ich allerdings nicht wie ich die Daten wieder einlesen kann. Die Daten könnte ich jetzt ganz einfach wieder mit einem DataStream einlesen, aber ich sehe keine Möglichkeit eine Variable des Types zu erstellen, den ich als String-Information mitschicke. Muss ich jetzt ein switch/case machen, das den string auf jeglichen typ-namen überprüft und für jeden fall das objekt mit dem richtigen typ erzeugt? Da hab ich nämlich keine Lust drauf und ich dachte QVariant wär genau für sowas geeignet, ich sehe aber keine Möglichkeit das damit zu realisieren.
Für jeden Tip dankbar,
Moritz Schäfer
Ich würde gerne Variablen verschiedenen Types(alle Qt-Datentypen) übers Netzwerk verschicken. Dabei gebe ich den Namen des Types sowie den Inhalt der Variable an(Gegeben ist ein QVariant dessen Typ und Wert ich auslesen kann). Zum Auslesen der Werte nehme ich den >> Operator von QDataStream, der für jeden Qt-Datentyp implementiert ist.
Jetzt weiß ich allerdings nicht wie ich die Daten wieder einlesen kann. Die Daten könnte ich jetzt ganz einfach wieder mit einem DataStream einlesen, aber ich sehe keine Möglichkeit eine Variable des Types zu erstellen, den ich als String-Information mitschicke. Muss ich jetzt ein switch/case machen, das den string auf jeglichen typ-namen überprüft und für jeden fall das objekt mit dem richtigen typ erzeugt? Da hab ich nämlich keine Lust drauf und ich dachte QVariant wär genau für sowas geeignet, ich sehe aber keine Möglichkeit das damit zu realisieren.
Für jeden Tip dankbar,
Moritz Schäfer