Есть ли способ динамически обновлять таблицу по мере добавления данных?

К примеру - есть изначально выгруженные в таблицу данные из бд, появилась необходимость дополнить их, по нажатию кнопки вылазит диалоговое окно, заполняются данные и уходят в бд и одновременно в таблицу, этот способ не очень мне подходит.

Можно ли сразу после добавления данных в бд заново заполнить таблицу ? Или как-то обновить её данные ?

Пробовал так -

self.tableWidget.clear()
table_index = 0
self.add_table()

Но данные не добавляются и увеличивается кол-во последующих строк


Ответы (2 шт):

Автор решения: S. Nick

Я очень рекомендую вам начать изучение Qt SQL и SQL Programming

А также посмотрите некоторые ответы как правильно работать с БД использую PyQt: PyQt5 и QtSql, вывод элементов БД , PYQt5. Вызов формы для заполнения БД, считывание данных из этой формы

→ Ссылка
Автор решения: OverNiko

А решил я данную ситуацию таким способом -

def update_table(self):
        sqlite_connection = sqlite3.connect("New.db")   
        cursor = sqlite_connection.cursor()
        sqlite_select_query = """SELECT ip FROM ips"""
        cursor.execute(sqlite_select_query)
        records = cursor.fetchall()
        cursor.close()
        sqlite_connection.close()

        table_index = self.ui.tableWidget.rowCount()
        self.ui.tableWidget.insertRow(table_index)
        
        if len(records) == table_index:
            self.ui.tableWidget.setRowCount(table_index)
        elif len(records) > table_index:
            con = len(records) - table_index
            self.ui.tableWidget.clearContents()
            self.tab()
            self.ui.tableWidget.setRowCount(table_index + con)
        elif len(records) < table_index:
            con = table_index - len(records)
            self.ui.tableWidget.clearContents()
            self.tab()
            self.ui.tableWidget.setRowCount(table_index - con)
→ Ссылка