前言
本节我们学习使用Python的prettytable的用法,使用prettytable可以非常方便的使用表格形式打印统计数据。
一、基础知识
1.prettytable简介
PrettyTable是python中的一个第三方库,主要用来将数据格式化成表格形式显示。
2.安装
pip3 install PrettyTable
3.常用函数说明
![bb2d1d51b9d96486f41fc3e73a12c1a9.png](https://i-blog.csdnimg.cn/blog_migrate/c6daf1fd8e51c16b87db0867d4dc2b6c.jpeg)
二、实例
1. QT Designer设计UI
复制“ pyqt5快速上手基础篇8-菜单栏、工具栏和状态栏“中image文件夹内容和combox.ui,并修改combox.ui名字为chart.ui,用Qt Designer打开如下所示:
![0530fde42c115f9eedba65c973eee549.png](https://i-blog.csdnimg.cn/blog_migrate/d09408fdc89ff2e1c133b88c5d83101a.jpeg)
注意串口combox没有任何数据显示,是因为我们没有使用Qt Designer为其添加item。
2 将*.ui转换为ui_chart.py
进入run.py目录,输入如下命令:
pyuic5 -o ui_chart.py chart.ui
3 编写python程序
# encoding=utf-8import sysimport PyQt5.QtWidgets as qwimport PyQt5.QtCore as qcimport prettytable as ptimport ui_chart class myForm(qw.QMainWindow, ui_chart.Ui_MainWindow): def __init__(self): super().__init__() self.setupUi(self) #init gui self.statusbar.showMessage("status:ok") self.pushButton.clicked.connect(self.btn_test_cb) def btn_test_cb(self): tb = pt.PrettyTable() tb.field_names = ["姓名", "语文", "数学", "英语"] tb.add_row(["王二", 80, 90, 70]) tb.add_row(["李三", 85, 95, 80]) tb.add_row(["赵四", 90, 75, 86]) print(tb) text_data = str(tb) self.textBrowser.insertPlainText(text_data) self.textBrowser.insertPlainText("") self.textBrowser.insertPlainText("clear_rows后数据如下") tb.clear_rows() print(tb) text_data = str(tb) self.textBrowser.insertPlainText(text_data) self.textBrowser.insertPlainText("重新add_row后数据如下") tb.add_row(["刘无", 85, 95, 80]) tb.add_row(["杨六", 90, 75, 86]) print(tb) text_data = str(tb) self.textBrowser.insertPlainText(text_data) self.textBrowser.insertPlainText("clear后数据如下") tb.clear() print(tb) text_data = str(tb) self.textBrowser.insertPlainText(text_data)if __name__ == '__main__': app = qw.QApplication(sys.argv) w1 = myForm() w1.show() app.exec_()
上述程序实现,当点击发送按钮的时候,首先初始化一个表格数据,显示在textBrowser上,然后调用clear_rows()清楚表格数据,保留表格标题,然后重新添加数据并显示,最后调用clear()清楚表格,销毁标题和数据内容。
三、运行
进入文件目录,输入python3 run.py,即可弹出上述用QT Designer设计出来的MainWindow页面。
![a4c40a75a284f05b42f44d55c57e9784.png](https://i-blog.csdnimg.cn/blog_migrate/92031774928f636814c2627dbb3e63a6.jpeg)
到此,我们实现了在pyqt上的textBrower上显示表格形式数据。
四、结语
(1) PrettyTable
注意PrettyTable是Python的一个第三方包,所以pyqt5支持,直接在控制台写纯python脚本也是可以的。
作者:小驿
寄语:人的一生应该记住这几个字:不要怕、不要悔!