python - 使用 PyQt4 将表格插入 QTextEdit

标签 python qt4 pyqt4

如何在 QTextEdit 中插入一个标签以打印在 A4 纸上。我写了这段代码,但我不知道如何将它插入到值中,只需插入第一个单元格:

self.text = QtGui.QTextEdit()
self.cursor = QtGui.QTextCursor()
self.cursor = self.text.textCursor()
self.cursor.insertTable(2, 5)
self.cursor.insertText("first cell ")

最佳答案

也许晚了,但对其他人来说仍然有用:) 如何将表格插入 QTextEdit 有两个不错的选择。

第一种,上面说了,就是用游标的方式。 示例:

headers = ["Number", "Name", "Surname"]
rows = [["1", "Maik", "Mustermann"],
        ["2", "Tom", "Jerry"],
        ["3", "Jonny", "Brown"]]
cursor = results_text.textCursor()
cursor.insertTable(len(rows) + 1, len(headers))
for header in headers:
    cursor.insertText(header)
    cursor.movePosition(QTextCursor.NextCell)
for row in rows:
    for value in row:
        cursor.insertText(str(value))
        cursor.movePosition(QTextCursor.NextCell)

结果如下: enter image description here

还有另一种方法可以做到这一点,并获得更漂亮的结果。使用 jinja2 包,如示例所示:

headers = ["Number", "Name", "Surname"]
rows = [["1", "Maik", "Mustermann"],
        ["2", "Tom", "Jerry"],
        ["3", "Jonny", "Brown"]]

from jinja2 import Template
table = """
<style>
table {
    font-family: arial, sans-serif;
    border-collapse: collapse;
    width: 100%;
}

td, th {
    border: 1px solid #dddddd;
    text-align: center;
    padding: 8px;
}
</style>

<table border="1" width="100%">
    <tr>{% for header in headers %}<th>{{header}}</th>{% endfor %}</tr>
    {% for row in rows %}<tr>
        {% for element in row %}<td>
            {{element}}
        </td>{% endfor %}
    </tr>{% endfor %}
</table>
"""
results_text.setText(Template(table).render(headers=headers, rows=rows))

然后您将获得样式表,如下图所示: enter image description here

关于python - 使用 PyQt4 将表格插入 QTextEdit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8287439/

相关文章:

python - "ASCII-ish"Python 中一些 Unicode 字符的近似值

python - 将两个指数不匹配的 Pandas 系列相乘

python - 我怎样才能接近实现? : from C++/C# in Python?

c++ - 如何将 QT 国际化集成到 CMake?

python - Qt QTreeWidget 之间的拖放

windows - 使用 pyqt4 正确处理 Windows 操作系统缩放

python - mongoengine 操作的原子性如何

qt - QAbstractItemModel + QTreeView 什么会导致项目变得不可选择?

c++ - “virtual bool QAbstractScrollArea::eventFilter(QObject*, QEvent*)”受到保护

python - 从表格小部件中的选定单元格中检索单元格数据