Я создаю графический интерфейс для нашей платформы тестирования. Пользователь должен иметь возможность выбирать тесты из таблицы для запуска.У меня проблемы с получением данных в саму таблицу.Я могу получить данные в порядке, но не могу заполнить 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
, который, кажется, легче использовать с данной задачей.
Вот моя последняя попытка имплиментации с использованием QtSQL
.
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