QUiLoader: load aus QBuffer klappt nicht?
Verfasst: 30. Juli 2008 14:51
Hallo
ich möchte ein Widget mit dem QUiLoader laden. Die ui-Beschreibung wird aus einem Text erzeugt, ich will also nicht von dem Device QFile laden, sondern aus einem vorhandenen String. Dafür hatte ich QBuffer ausgesucht.
Es klappt jedoch nicht und dank mangelnder Kenntnisse weiss ich jetzt nicht mehr weiter?
Der Codeausschnitt:
Ausgabe:
Ist QBuffer überhaupt das richtig IODevice für diesen Zweck?
Vielen Dank
Markus
ich möchte ein Widget mit dem QUiLoader laden. Die ui-Beschreibung wird aus einem Text erzeugt, ich will also nicht von dem Device QFile laden, sondern aus einem vorhandenen String. Dafür hatte ich QBuffer ausgesucht.
Es klappt jedoch nicht und dank mangelnder Kenntnisse weiss ich jetzt nicht mehr weiter?
Der Codeausschnitt:
Code: Alles auswählen
QUiLoader loader;
QBuffer buffer;
buffer.open(QBuffer::ReadWrite);
buffer.write("<ui version=\"4.0\"><class>");
buffer.write(attribut.toAscii()); // attribut ist ein gültiger QString
buffer.write("</class>");
buffer.write(widgetPrototypes.value(attribut).toAscii()); // widgetPrototypes iist eine QMap<QString, QString>
buffer.write("<resources/><connections/></ui>");
qDebug() << buffer.data();
QWidget *columnWidget = loader.load(&buffer, 0);
qDebug() << columnWidget;
buffer.close();
Warum ist bekomme ich vom QUiLoader einen Nullzeiger zurück?"<ui version="4.0"><class>attA</class><widget class="QLabel" name="QLabelA" ><property name="text"><string>hallo</string></property></widget><resources/><connections/></ui>"
QObject(0x0)
Ist QBuffer überhaupt das richtig IODevice für diesen Zweck?
Vielen Dank
Markus