ptqt5可视化界面实现查询excel中的数据并显示

1.首先我们先创建一个pyqt5的窗口

2.在该窗口里添加一个Widget,调整widget大小,可以选择给其添加背景颜色/背景图,如下图所示,其中背景颜色这些就单机右键-->改变样式表-->添加颜色(background-color)选择你喜欢的颜色即可。

3.搜索框(即编辑框)、搜索按钮、以及要显示查询到的数据的位置(因为要显示的是表格所以使用),依次拖入相应的插件,摆好位置,没有问题保存即可。

4.回到python,首先我们需要生成刚刚pyqt5可视化界面的python代码,用vscode打开刚刚在qt designer中保存的ui界面的文件夹,,在终端输入pyuic5 -o jiemian.py test.ui(当然这些都要根据你自己的命名来改变前缀)

此时我们运行该(jiemian.py)文件不会有任何反应,因为我们打开该py文件可以发现里面就是封装好的类和函数,需要一个主函数调用它,它才会显示出来,所以我们在该文件夹下创建一个main.py文件。最后我会附上代码。

运行主函数,弹出可视化界面。

5.下面我们开始连接数据,先准备好数据,我用的是爬虫的2023年的北京天气数据。将该文件放入py文件所在的文件夹。

6.现在我们要明白一个思路就是,你要把所要查找的日期(因为我这里查找的是日期)输入到文本框,然后点击搜索,把从excel中查找的内容显示到下面的table中。其实就是找盒子的名字把盒子名字和数据连上,比如想要获取文本框中的内容,我们需要知道文本框的名字,在qt designer中我们可以通过点击文本框来查看其名字,同时也可以修改,如图所示是文本框的对象名是textEdit,注意大小写。

在我们知道每一个我们想要使用的对象名字以后,代码如下:我都放在了main函数里,当然也可以放在jiemian.py文件里,总之要我用的pandas读取excel所以要导入pandas。

7.最终效果

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过以下步骤实现pyqt5导入excel显示数据: 1. 安装openpyxl模块:在命令行输入pip install openpyxl 来安装openpyxl模块。 2. 导入模块:在pyqt5代码导入openpyxl模块。 3. 选择文件:通过QFileDialog模块提供的getOpenFileName()方法,选择要导入的Excel文件。 4. 打开Excel文件:使用openpyxl模块的load_workbook()方法打开Excel文件。 5. 获取工作表:使用openpyxl模块的active属性,获取活动工作表。 6. 读取数据:通过循环访问工作表的行和列,将数据存储到列表。 7. 显示数据:将列表数据显示pyqt5窗口。 以上是pyqt5导入excel显示数据的步骤,具体的代码实现可以参考以下代码: ``` import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog from openpyxl import load_workbook class ExcelViewer(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle('Excel Viewer') self.resize(800, 600) # 添加一个列表控件,用于显示Excel数据 self.tableWidget = QTableWidget(self) self.setCentralWidget(self.tableWidget) # 添加一个菜单栏,用于打开Excel文件 menubar = self.menuBar() fileMenu = menubar.addMenu('File') openFile = fileMenu.addAction('Open') openFile.triggered.connect(self.showDialog) def showDialog(self): fileName, _ = QFileDialog.getOpenFileName(self, 'Open file', '', 'Excel files (*.xlsx)') if fileName: self.load_file(fileName) def load_file(self, fileName): workbook = load_workbook(fileName) worksheet = workbook.active # 获取Excel数据,并存储到列表 data = [] for row in worksheet.iter_rows(): rowData = [] for cell in row: rowData.append(cell.value) data.append(rowData) # 显示数据pyqt5窗口 self.tableWidget.setRowCount(len(data)) self.tableWidget.setColumnCount(len(data[0])) for i, row in enumerate(data): for j, col in enumerate(row): self.tableWidget.setItem(i, j, QTableWidgetItem(str(col))) if __name__ == '__main__': app = QApplication(sys.argv) viewer = ExcelViewer() viewer.show() sys.exit(app.exec_()) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值