Je souhaite générer plusieurs rapports de rapport à l'aide de la boîte à outils. Deux pages est une option pour commencer. Le formatage est ok, et peut être travaillé dernier.Qt Python - rapport dans la boîte à outils: QTextDocument et QPainter
J'ai essayé d'utiliser QTextDocument en Html, et en alternative QPainter.
Bien sûr, pour faire un test et garder les choses simples, je demande simplement dans Qt d'afficher le titre du rapport affiché en haut du document.
Voici la fonction pour le cadre principal de la boîte à outils:
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))
... la fonction qui maintient la première page à l'aide QTextDocument avec Html:
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)
et la fonction en utilisant 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")
le problème est qu'il affiche simplement la boîte à outils à la page 1 et page 2, mais pas le titre pour les deux rapport à l'intérieur de la page 1 et la page 2.
Qu'est-ce qui manque ici?
Tous les commentaires et suggestions sont très appréciés.
Merci BaySmith! Vous venez d'enregistrer la journée. Cela a juste fonctionné magnifiquement! – ThreaderSlash