Как я могу обновить список GTK из асинхронного метода? - PullRequest
1 голос
/ 29 сентября 2019

Таким образом, при написании пользовательского интерфейса в GTK, как правило, предпочтительнее обрабатывать чтение файлов и т. Д. В асинхронном методе.такие вещи, как списки, обычно привязаны к ListModel, элементы в ListBox обновляются в соответствии с сигналом items_changed.

Так что если у меня есть какой-то класс, который реализует ListModel и имеет функцию добавления,и какой-то FileReader, который содержит ссылку на указанную ListModel и вызывает add из асинхронной функции, как мне сделать это, по сути, вызывая items_changed и соответственно обновляя GTK?

Я пробовал list.items_changed.connect(message("Items changed!")); но это никогда не срабатывает.

Я видел это: Как можно обновить GTK + UI в Vala из длительной операции, не блокируя UI , но в этом примере это просто метка кнопки, котораяизменен, сигнал фактически не срабатывает.

...