我的设置是 Windows 10、Python 3.7、PyQt5
目标是将格式化的表格打印到QPlainTextEdit。
我在PrettyTable对象中有一些数据。当我将此数据打印到标准输出时,表格会完美打印!但是当打印到 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()
如何实现表格的正确格式?