Задать вопрос

Как обновить данные в приложении без выхода из него?

Привет.
Предположим, что у меня есть файл в котором записан список продуктов (на каждой строке свой продукт)
И вывел этот список используя QVBoxLayout и QLabel.
И у меня есть кнопка добавить. И при добавление продукта содержимое файла обновляется.
Но список в приложении не изменился, дак вот как сделать так, чтобы список в приложении изменился, чтобы не пришлось выходить и снова заходить в приложение?
  • Вопрос задан
  • 167 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Нужно написать код обновляющий компоненты графического интерфейса.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Dogrtt
Qt/Python разработчик
Вообще, тут есть много путей (ктоб, мать его, сомневался, это жеж программирование...). Я бы создал дополнительный класс в отдельном потоке, который с определенной частотой проверял бы хэш-сумму файла. Изменение суммы будет означать, что в файл что-то дописали. В этот момент из потока-вотчера идет сигнал в слот основного gui-потока, что надо бы перезаполнить табличку. Можно писать не просто в файл, а допустим в sqlite3 базу (по сути тоже обычный файл), тогда для отображения элементов можно использовать QListView с QSqlTableModel (эта модель, к слову, позволяет напрямую писать в базу, QSqlQueryModel из коробки так не умеет, надо имплементировать самому метод записи). Кстати, если ты сам и добавляешь что-то в файл, то в момент добавления, просто давай сигнал, что надо считать последнюю строку или куда ты там дописываешь...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽