我的设置是Windows10,Python3.7,PyQt5
目标是将一个格式的表打印到一个
我在PrettyTable对象中有一些数据。当我将这些数据打印到stdout时,表就会被完美地打印出来!但是当打印到QPlainTextEdit (使用table.get_string())时.它失去了正确的格式。
一个显示问题的小代码:
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()

如何实现正确的表格格式?
发布于 2021-02-06 11:50:00
在this帖子中找到了答案。
保持简短:
font = QFont("Monospace")
font.setStyleHint(QFont.TypeWriter)
my_plain_text_edit.setFont(font)https://stackoverflow.com/questions/66076096
复制相似问题