如何在 Python 主文件或 SQL 数据库中保存 PyQt -TableWdiget-Tabular 数据?

How to save PyQt -TableWdiget-Tabular Data in Python main file or SQL DB?

我是一名土木工程专业的学生,​​正在开发一个 python 基于 gui 的工程工具 calculation.Since 所有计算都基于 table,就像我们在 excel 文件中所做的那样,我想知道如何保存通过 GUI table 小部件输入的 table 数据?以及如何对多个 table 执行操作?

您可以下载 xlsxwriter,这是一个 python 包,用于写入 ms excel。在此示例中,我使用了一个按钮,用于将数据从 table 导出到 ms excel。如果您更改了默认名称,您应该将 self.tableWidget 重命名为您的 table 的名称。

self.exportButton.clicked.connect(self.exporter)

def exporter(self, filename=None):
    if not filename:
        filename = QtGui.QFileDialog.getSaveFileName(self, 'Save File'," "'.xlsx','(*.xlsx)')
    if filename:
        wb = xlsxwriter.Workbook(filename)
        self.sheetBook = wb.add_worksheet()
        self.export()
        wb.close()

def export(self):
    row = 0
    col = 0
    for i in range(self.tableWidget.columnCount()):
        for x in range(self.tableWidget.rowCount()):
            try:
                text = str(self.tableWidget.item(row, col).text())
                self.sheetBook.write(row, col, text)
                row += 1
            except AttributeError:
                row += 1
        row = 0
        col += 1