2014-11-26 2 views
1

У меня есть список в Tkinter, и я хотел бы изменить элемент, выбранный программно, когда пользователь нажимает кнопку ключа. У меня есть метод keyPressed, но как изменить выбор в Listbox в моем нажатом ключевом методе?Tkinter listbox change выделенный элемент programatically

+0

Ваш второй вопрос - отдельный вопрос, и его следует задавать как таковой. Кроме того, если вы не предоставили код (минимальный, полный, проверяемый пример) (http://stackoverflow.com/help/mcve), а не дамп всей вашей программы), вы полагаетесь на кого-то, угадающего, что вы можете делайте неправильно, что снижает ваши шансы получить полезный ответ. – abarnert

ответ

5

Потому что listboxes допускают одиночный против непрерывного или отдельного выбора, а также позволяют использовать активный элемент, этот вопрос неоднозначен. The docs объясните все, что вы можете сделать.

Метод selection_set добавляет элемент к текущему выбору. Это может или не отменять выбор других элементов в зависимости от вашего режима выбора.

Если вы хотите гарантировать, что вы всегда получите только один выбранный элемент, несмотря ни на что, вы можете очистить выбор с помощью selection_clear(0, END), затем selection_set, что один элемент.

Если вы хотите, чтобы выбранный элемент был активным, также звоните activate на предмет после его настройки.

Чтобы узнать о различных режимах выбора и о том, как активные и выбранные взаимодействуют, прочитайте документы.

Смежные вопросы