PyQt5-7.qtpandas测试

内容分享3小时前发布 cfxz_lx
0 3 0

1.UI 设计

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

PyQt5-7.qtpandas测试

qtpandas测试布局UI

2.Widget提升

1)选中Widget,右击提升为:

PyQt5-7.qtpandas测试

Widget控件提升

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

PyQt5-7.qtpandas测试

控件类提升

3)UI初运行:ctrl+R在designer.exe预览UI界面

PyQt5-7.qtpandas测试

预览

3.*.UI 转换 *.py

还记得ui转换py代码吗?

4.转换为代码运行

PyQt5-7.qtpandas测试

代码运行

5.表格数据显示

PyQt5-7.qtpandas测试

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_())

PyQt5-7.qtpandas测试

© 版权声明

相关文章

3 条评论

  • 头像
    人情味儿 读者

    【qtpandas】UI设计

    无记录
    回复
  • 头像
    猫叔 读者

    qtpandasUI设计设置三个控件

    无记录
    回复
  • 头像
    晓羽 读者

    7.qtpandas测试

    无记录
    回复