Ошибка в вашем коде - это строка:
MainScreenvar = MainScreen()
, которая создает новый экземпляр MainScreen
. Это не будет тот экземпляр, который отображается в вашем GUI, поэтому строка:
return MainScreenvar.ids.filechooser._update_files()
вызывает _update_files()
для FileChooserIconView
, который не отображается в вашем GUI. Решение состоит в том, чтобы использовать ссылку на фактический FileChooserIconView
, который находится в вашем GUI. Вероятно, что-то вроде:
MainScreenvar = self.manager.get_screen('main')
Однако это только предположение, поскольку вы не предоставили большую часть своего кода. Это предполагает, что ваш опубликованный код взят из Screen
, а name
, который вы указали для MainScreen
, это main
.