В TKinter почему tkMessageBox запрещает мне изменять объекты Entry?

Я использую TKinter, и у меня действительно странная ситуация.

Я в основном создал небольшое приложение, которое имеет Listbox, две кнопки и запись. Две кнопки добавляют и удаляют элементы из списка соответственно, а запись указывает имя добавляемого элемента. Это все заключено в рамку.

Справа от этого кадра находится почти идентичный, за исключением того, что список этого кадра содержит элементы, которые являются родственными для тех, что слева. По сути, "списки" или "категории" создаются в первом списке, а затем элементы добавляются в эти списки во втором списке.

TL; DR: Вот три снимка экрана используемого приложения, чтобы упростить визуализацию.

В моем приложении не может быть двух категорий с одинаковыми именами. Если есть две категории с одинаковым именем, вызывается tkMessagebox.showerror(...). Это работает правильно, и моя программа по-прежнему работает правильно, за исключением того, что я больше не могу выделить или изменить ни одно из полей ввода.

Сначала я подумал, что они по какой-то причине были установлены на DISABLED или только для чтения, но я знаю, что этого не может быть, потому что кнопки моей программы все еще работают, и когда я нажимаю "Add Category", содержимое поля ввода копируется в Список категорий, а затем удаляется из поля ввода. Поля ввода не могут быть изменены, даже с помощью кода (вызовы.delete(...) и.insert(...) не работают), когда установлено значение DISABLED или доступно только для чтения, но мое приложение явно может использовать эти вызовы.

Кроме того, при наведении курсора на поля ввода, мой курсор переключается на "курсор чтения" (как при наведении курсора на этот текст). Когда я пытаюсь щелкнуть, нажать и перетащить или ввести, ничего не происходит. Это как если бы поля ввода потеряли фокус.

0 ответов

Другие вопросы по тегам