PyQt的导出

最近两天都在搞软件工程课程设计,我负责的工作是桌面程序的前端界面的编码,技术采用的是PyQt。由于比较熟悉Qt,加上使用QtDesigner,开发起来还是挺快的。今天在将写好的第一版程序导出为exe程序给别人测试时,遇到了点问题。
导出的工具使用的是pyinstaller,但苦逼的是当前官方master分支的pyinstaller不支持我的python版本3.6,于是使用了pyinstaller的github上面的开发分支的版本,这样就成功导出了程序,就在我满心欢喜双击程序运行的时候,报了一个错误,没有找到Qt的链接库,于是各种百度解决了这个问题,只需要在运行pyinstaller的时候指定Qt的库的位置就行了,就是下面这行代码:

pyinstaller --paths "C:/Program Files/Python/Python36/Lib/site-packages/PyQt5/Qt/bin" -F -w mainwindow.py
使用pyqt开发的GUI程序中要导出tablewidget中的数据到Excel,可以使用openpyxl库来实现。 首先,需要安装openpyxl库,可以使用pip install openpyxl进行安装。 导出Excel的步骤如下: 1. 导入所需的库和模块: ```python from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QMainWindow from openpyxl import Workbook ``` 2. 创建一个QTableWidget并填充数据: ```python table_widget = QTableWidget() table_widget.setColumnCount(3) table_widget.setRowCount(2) table_widget.setItem(0, 0, QTableWidgetItem("A1")) table_widget.setItem(0, 1, QTableWidgetItem("B1")) table_widget.setItem(0, 2, QTableWidgetItem("C1")) table_widget.setItem(1, 0, QTableWidgetItem("A2")) table_widget.setItem(1, 1, QTableWidgetItem("B2")) table_widget.setItem(1, 2, QTableWidgetItem("C2")) ``` 3. 创建一个Workbook对象,并获取当前活动的sheet: ```python wb = Workbook() sheet = wb.active ``` 4. 遍历tablewidget中的每个单元格,将其值写入到Excel中: ```python for row in range(table_widget.rowCount()): for col in range(table_widget.columnCount()): value = table_widget.item(row, col).text() sheet.cell(row=row+1, column=col+1).value = value ``` 5. 保存Excel文件: ```python wb.save("output.xlsx") ``` 完整的代码如下: ```python from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QMainWindow from openpyxl import Workbook app = QApplication([]) window = QMainWindow() table_widget = QTableWidget() table_widget.setColumnCount(3) table_widget.setRowCount(2) table_widget.setItem(0, 0, QTableWidgetItem("A1")) table_widget.setItem(0, 1, QTableWidgetItem("B1")) table_widget.setItem(0, 2, QTableWidgetItem("C1")) table_widget.setItem(1, 0, QTableWidgetItem("A2")) table_widget.setItem(1, 1, QTableWidgetItem("B2")) table_widget.setItem(1, 2, QTableWidgetItem("C2")) wb = Workbook() sheet = wb.active for row in range(table_widget.rowCount()): for col in range(table_widget.columnCount()): value = table_widget.item(row, col).text() sheet.cell(row=row+1, column=col+1).value = value wb.save("output.xlsx") window.show() app.exec_() ``` 以上就是使用pyqt导出tablewidget数据到Excel的方法。最终生成的output.xlsx即为导出的Excel文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值