ich möchte in einem Projekt automatisiert Textdokumente erzeugen, hierfür stellte sich der QTextDocumentWriter bisher als recht brauchbare Lösung heraus.
Die Dokumente sollen jedoch auch Tabellen enthalten und ich habe ein paar Probleme mit deren Formatierung.
Meine Tabelle hat in der ersten Spalte einen Namen stehen und in den weiteren Spalten einzelne Ziffern, die erste Spalte muss also deutlich breiter sein als die folgenden.
Dies sollte man ja eigentlich mit QTextTableFormat::setColumnWidthConstraints erreichen können, aber das ganze funktioniert bei mir leider nicht.
Mein Format-Initialisierungscode sieht wiefolgt aus (PyQt, aber sollte sich nicht viel nehmen, hoffe man kann es entziffern):
Code: Alles auswählen
...
a = QtGui.QTextTableFormat()
textLengths = [QtGui.QTextLength(QtGui.QTextLength.FixedLength, 500)]
for i in range(9): textLengths.append(QtGui.QTextLength(QtGui.QTextLength.FixedLength, 30))
a.setColumnWidthConstraints(textLengths)Code: Alles auswählen
QTextTableFormat a;
QVector<QTextLength> textLengths(10);
textLengths.append( new QTextLength(QTextLength::FixedLength, 500));
for (int i=0; i < 9; i++)
textLengths.append( new QTextLength(QTextLength::FixedLength, 30));
a.setColumnWidthConstraints( textLengths );
Der Befehl scheint also überhaupt nichts zu bewirken. Ich habe auch schon mit PercentageLength experimentiert, aber auch hier kein Effekt.
Mache ich da irgendetwas falsch? Gibt es eine andere Möglichkeit die Spaltengröße zu verändern? Oder ist das evtl. beim ODF-Format generell nicht möglich?