插入从SQLITE3数据库中的数据到一个QTableWidget的

问题描述 投票:1回答:1

我建立了我们的测试平台已指示用户应该从表中可以选择的测试运行的GUI。我在获取数据到表本身的问题。我可以获取数据很好,但不能填充QTableWidget

这是数据的样本,我想填充表

Id | Test name    | Owner | Script source
---|-----------   |-------|--------------
 1 | Login        |  1    | test_login_s
 2 | Logout       |  1    | test_logout_s
 3 | User > Edit  |  1    | test_user_edit_s

起初,我试图用sqlite3包来实现这一任务,但阅读使我的QtSQL包,它似乎更容易与给定的任务使用。

下面是使用qazxsw POI在执行我的最新尝试。

QtSQL

这导致qazxsw POI从qazxsw POI返回。

我也曾尝试以下方法

def load_data(self):
    connection = sqlite3.connect('data.db')
    cursor = connection.cursor()
    cursor.execute('''SELECT * FROM Tests''')
    rows = cursor.fetchall()
    for row in range(len(rows)):
        for column in range(len(rows[row])):
            self.tblTests.setItem(row, column, QtWidgets.QTableWidgetItem(rows[row][column]))

在这种情况下,None回报

self.tblTests.setItem(row, column, QtWidgets.QTableWidgetItem(rows[row][column]))

这似乎是它是在正确的轨道上。它仍然然而,不填充 for row, key in enumerate(rows): for column, data in enumerate(rows[row]): self.tblTests.setItem(row, column, QtWidgets.QTableWidgetItem(str(data)))

python pyqt qtsql
1个回答
0
投票

尝试调试上面的代码,而当看到data返回的值之后,我想,一定有东西掉。

通过1 Login 1 test_login_s 2 Logout 1 test_logout_s 3 User > Edit 1 test_user_edit_s 功能偷看之后,我遇到了线tblTests。 Intitially,我还以为这一行是多余的,由于data电话,但决定把它留在调试的缘故代码。

我参加了一个刺在黑暗中,并设置setupUI() 4,现在按预期工作。

我什么也没看到文档中建议self.tblTests.setColumnCount(0)需要阅读文档时要手动输入。

希望这有助于别人呢!

© www.soinside.com 2019 - 2024. All rights reserved.