[prg] Отладчик для дополнений NVDA
Приветствую.
нужно обращаясь к элементу списка по его индексу передать содержимое
этого элемента в NVDA.
На чистом Python всё работает, через дополнение нет. Пытаюсь сделать
типа такое:
mylist = [abc, defg, 12345, wxyz]
indexlist = mylist[0]
ui.message(indexlist)
И тишина.
Пробовал и ui.message(mylist[0]) тоже тишина.
Вот хочу узнать как лучше передать элемент списка или словаря на скринридер.
Здравствуйте, Dmitriy.
На чистом Python этот код точно работать не будет, потому что там нет модуля
ui.
Ну а в NVDA этот код в принципе должен работать, но как часть чего-то
большего. Если это код из дополнения, то надо смотреть на остальную часть.
Если из консоли Python в NVDA, то надо определиться с переменными или
литералами в списке и убедиться, что импортирован модуль ui.
Однако в консоли Python в NVDA есть нюанс, из-за которого ui.message() там
использовать не стоит, а лучше использовать стандартную функцию print().
Просто сообщение ui.message() прерывается сообщением чтения объявления для
ввода новой строки, когда эта строчка дописывается в окне редактора.
То есть ui.message() в консоли Python отрабатывает, но тут же перебивается
новым сообщением, так что обычно там этого не слышно.
Эти сообщения попадают в журнал NVDA, который можно просмотреть по команде
NVDA+F1.
Также можно открыть файл %tmp%\nvda.log
Если сбой произошёл в предыдущей рабочей сессии NVDA, то смотреть надо файл
%tmp%\nvda-old.log
Успехов. Никита.