首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将PrettyTable数据打印到QPlainTextEdit

将PrettyTable数据打印到QPlainTextEdit
EN

Stack Overflow用户
提问于 2021-02-06 11:00:20
回答 1查看 130关注 0票数 0

我的设置是Windows10,Python3.7,PyQt5

目标是将一个格式的表打印到一个

我在PrettyTable对象中有一些数据。当我将这些数据打印到stdout时,表就会被完美地打印出来!但是当打印到QPlainTextEdit (使用table.get_string())时.它失去了正确的格式。

一个显示问题的小代码:

代码语言:javascript
复制
import sys

from PyQt5.QtWidgets import (
    QApplication, QLabel, QPlainTextEdit, QVBoxLayout, QWidget)
from prettytable import PrettyTable

class Example(QWidget):

def __init__(self):
    super().__init__()

self.initUI()

def initUI(self):
    hbox = QVBoxLayout(self)

qpt = QPlainTextEdit(self)
qpt.setReadOnly(True)

x = PrettyTable()
x.field_names = ["City name", "Area", "Population", "Annual Rainfall"]
x.add_rows(
    [
        ["Adelaide", 1295, 1158259, 600.5],
        ["Brisbane", 5905, 1857594, 1146.4],
        ["Darwin", 112, 120900, 1714.7],
        ["Hobart", 1357, 205556, 619.5],
        ["Sydney", 2058, 4336374, 1214.8],
        ["Melbourne", 1566, 3806092, 646.9],
        ["Perth", 5386, 1554769, 869.4],
    ]
)
qpt.appendPlainText(x.get_string())

hbox.addWidget(qpt)

self.resize(400, 300)
self.setWindowTitle('QPlainTextEdit')
self.show()

def main():
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()

如何实现正确的表格格式?

EN

回答 1

Stack Overflow用户

发布于 2021-02-06 11:50:00

this帖子中找到了答案。

保持简短:

代码语言:javascript
复制
font = QFont("Monospace")
font.setStyleHint(QFont.TypeWriter)
my_plain_text_edit.setFont(font)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66076096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档