背景需求
基本上Python中都是习惯用Dataframe处理数据,效率高,读写多样并且方便。但是拿到了正确的数据还需要展示到界面上,毕竟大多数应用都是需要交互界面的。那么如何方便地把df数据展示到gui界面呢?
解决方案
- 我这里用的是Pyqt做gui界面。Pyqt中Table类的组件有两个,一个tablewidget一个tableview,我这里推荐用Tableview,因为TableView有一个setModel的方法,可以直接将数据模型的数据整体展现出来,而不用自己去写一个一个Cell的数据加载逻辑。
- 直接使用下面这个类,这个类就是一个Model,通过构建这个类的实例,能够将一个简单Df的数据方便转换成TableView可以加载的Model对象。
class PdTable(QAbstractTableModel):
def __init__(self, data, showAllColumn=False):
QAbstractTableModel.__init__(self)
self.showAllColumn = showAllColumn
self._data = data
def rowCount(self, parent=None):
return self._data.shape[0]