1.UI 设计
设置三个控件:button、lineEdit、Widget,UI 布局如下图。

qtpandas测试布局UI
2.Widget提升
1)选中Widget,右击提升为:

Widget控件提升
2)新建提升的类2,类名称填写:DataTableWidget,头文件:
qtpandas.views.DataTableView.h,点击提升,可以先添加,在提升,后续直接选择添加的提升类即可。

控件类提升
3)UI初运行:ctrl+R在designer.exe预览UI界面

预览
3.*.UI 转换 *.py
还记得ui转换py代码吗?
4.转换为代码运行

代码运行
5.表格数据显示

6.点击edit可以编辑
增减行列,双击编辑表格,修改数据等。
存在一个bug:在未点击edit之前,双击表格会异常退出,这是qtpandas的bug,目前不清楚缘由和解决的方法。
7.代码
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from qtTest import Ui_QTtest
from qtpandas.models.DataFrameModel import DataFrameModel
import pandas as pd
import numpy as np
import sys
class MainWindow(QMainWindow, Ui_QTtest):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
self.data = pd.DataFrame()
self.model = DataFrameModel()
self.widget_pandas.setViewModel(self.model)
def openfile(self):
openfile_name = QFileDialog.getOpenFileName(self,'选择文件','','Excel files(*.xlsx)')
return openfile_name
@pyqtSlot()
def on_pushButton_clicked(self):
filedir = self.openfile()[0]
self.data = pd.read_excel(filedir)
self.lineEdit.setText(filedir)
self.model.setDataFrame(self.data)
if __name__ == '__main__':
app = QApplication(sys.argv)
ui = MainWindow()
ui.show()
sys.exit(app.exec_())

© 版权声明
文章版权归作者所有,未经允许请勿转载。


【qtpandas】UI设计
qtpandasUI设计设置三个控件
7.qtpandas测试