Таким образом, при написании пользовательского интерфейса в GTK, как правило, предпочтительнее обрабатывать чтение файлов и т. Д. В асинхронном методе.такие вещи, как списки, обычно привязаны к ListModel, элементы в ListBox обновляются в соответствии с сигналом items_changed
.
Так что если у меня есть какой-то класс, который реализует ListModel и имеет функцию добавления,и какой-то FileReader, который содержит ссылку на указанную ListModel и вызывает add
из асинхронной функции, как мне сделать это, по сути, вызывая items_changed
и соответственно обновляя GTK?
Я пробовал list.items_changed.connect(message("Items changed!"));
но это никогда не срабатывает.
Я видел это: Как можно обновить GTK + UI в Vala из длительной операции, не блокируя UI , но в этом примере это просто метка кнопки, котораяизменен, сигнал фактически не срабатывает.