Rahmen in *odt Dokument

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Works4Me
User
Beiträge: 4
Registriert: Dienstag 6. November 2012, 13:12

Ich habe ein QtextDocument in das ich einen Rahmen mit Text eingeben möchte. Dieses Dokument möchte ich als odt-Datei speichern.
Folgenden Beispielcode in python3 bzw PyQt mit libqt4-4.7 unter openSuse 12.1 habe ich bisher versucht.

Code: Alles auswählen

doc = QtGui.QTextDocument()
cur = QtGui.QTextCursor(doc)
frmfmt = QtGui.QTextFrameFormat()


frmfmt.setHeight(100)
frmfmt.setWidth(300)
frmfmt.setBorderStyle(frmfmt.BorderStyle_Solid)
frmfmt.setBorder(3)
cur.insertFrame(frmfmt)
cur.insertText("frame")

writer = QtGui.QTextDocumentWriter()
writer.setFormat(writer.supportedDocumentFormats()[1])
writer.setFileName('CV')
writer.write(doc)
Das Dokument wird auch als odt ausgegeben allerdings erscheint das Wort „frame“ ohne Rahmen.

Wenn ich mit folgendem Code das Dokument als *.pdf ausgebe wird alles erwartungsgemäs, also mit „frame“ im Rahmen dargestellt.

Code: Alles auswählen

a=QtGui.QApplication([])
printer = QtGui.QPrinter()
printer.setResolution(96)
printer.setPageSize(QtGui.QPrinter.A4)
printer.setOutputFormat(QtGui.QPrinter.PdfFormat)
printer.setOutputFileName("test.pdf")
printer.setPageMargins(12, 16, 12, 20, QtGui.QPrinter.Millimeter)
doc.setPageSize(QtCore.QSizeF(printer.pageRect().size()))
doc.print_(printer)
a.quit()
Leider gibt es kein printer.setOutputFormat odt.Was muss ich tun, damit dies auch im ersten Beispiel klappt? Oder geht dies mit odt prinzipiell nicht?
Gruß
Works4Me
Antworten