ツールボックスを使用して複数のドキュメントレポートを作成したい。2ページは開始するオプションです。フォーマットは問題なく、後で作業できます。
HTMLでQTextDocumentを使用してみましたが、代わりにQPainterを使用しました。
もちろん、テストを行い、物事を単純にするために、Qtで、ドキュメントの上に表示されるレポートタイトルを表示するように依頼します。
ツールボックスのメインフレームの機能は次のとおりです。
def toolbox_frame(self,MainWindow):
self.toolBox = QtGui.QToolBox(self.centralwidget)
self.toolBox.setGeometry(QtCore.QRect(10, 20, 471, 201))
self.toolbox_page1()
self.toolBox.addItem(self.page1, "")
self.toolBox.setItemText(self.toolBox.indexOf(self.page1), QtGui.QApplication.translate("MainWindow", "Page 1", None, QtGui.QApplication.UnicodeUTF8))
self.toolbox_page2()
self.toolBox.addItem(self.page2, "")
self.toolBox.setItemText(self.toolBox.indexOf(self.page2), QtGui.QApplication.translate("MainWindow", "Page 2", None, QtGui.QApplication.UnicodeUTF8))
... HtmlでQTextDocumentを使用して最初のページを保持する関数:
def toolbox_page1(self):
self.page1 = QtGui.QWidget()
self.page1.setGeometry(QtCore.QRect(0, 0, 471, 145))
html = u""
html += (" <p><font color=red><b>Title - Build "
"a Report : page 1.</b></font>")
document = QtGui.QTextDocument(self.page1)
document.setHtml(html)
そしてここでQPainterを使用する関数:
def toolbox_page2(self):
self.page2 = QtGui.QWidget()
self.page2.setGeometry(QtCore.QRect(0, 0, 471, 145))
sansFont = QtGui.QFont("Helvetica", 10)
painter = QtGui.QPainter(self.page2)
painter.setFont(sansFont)
painter.setPen(QtGui.QColor(168, 34, 3))
x=50
y=50
painter.drawText(x, y, "Title - Build a Report : page 2")
問題は、1ページと2ページのツールボックスが表示されるだけで、1ページと2ページの両方のレポートのタイトルが表示されないことです。
ここに何が欠けていますか?
すべてのコメントと提案は高く評価されています。