Python Добавление картинок и заголовков в QPrintWidget - PullRequest
0 голосов
/ 08 декабря 2018

Как я могу добавить заголовок и изображение в мой QPrintWidget / Printout?

Я нашел этот действительно симпатичный выложенный выходной файл.Я хотел бы, чтобы мой файл выглядел примерно так.Я попытался найти учебник, объясняющий, как выполнить «разметку» файла, но не смог найти ничего.

Я был бы очень рад некоторым предложениям / помощи.

Пока что этоэто mycode, где таблица рисуется из QTableWidget:

 def handlePaintRequest(self, printer):
        document = QtGui.QTextDocument()
        cursor = QtGui.QTextCursor(document)

        table = cursor.insertTable(self.table.rowCount(), self.table.columnCount())

        for row in range(table.rows()):
            for col in range(table.columns()):
                it = self.table.item(row, col)
                if it is not None:
                    cursor.insertText(it.text())
                cursor.movePosition(QtGui.QTextCursor.NextCell)
        document.print_(printer)

enter image description here

1 Ответ

0 голосов
/ 09 декабря 2018

Мой ответ основан на приведенной выше ссылке, на которую вы ссылаетесь .... Я бы просто показал вам, как добавить заголовок ... Я не изменяю текущее решение, просто дам вам возможное решение ....

def paintPage(pageNumber, pageCount, painter, doc, textRect, footerHeight):

    .......................

    headerRect = QtCore.QRectF(textRect)
    headerRect.setTop(textRect.top())
    headerRect.setHeight(2*footerHeight)

    .......................

painter.drawText(footerRect, QtCore.Qt.AlignCenter, "Page {} of {}".format(pageNumber+1, pageCount))
painter.drawText(headerRect, QtCore.Qt.AlignLeft, "{}\n{}".format('Project name:', 'Project number:'))
...