我建立了我们的测试平台已指示用户应该从表中可以选择的测试运行的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)))
尝试调试上面的代码,而当看到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)
需要阅读文档时要手动输入。
希望这有助于别人呢!