1

我正在使用 TKinter,我遇到了一个非常奇怪的情况。

我基本上已经创建了一个包含列表框、两个按钮和一个条目的小应用程序。两个 Button 分别在 Listbox 中添加和删除项,Entry 指定添加项的名称。这一切都封装在一个框架中。

这个框架的右边是一个几乎相同的框架,除了这个框架的列表框包含的项目是左边的项目。基本上,在第一个列表框中创建“列表”或“类别”,然后将项目添加到第二个列表框中的这些列表中。

TL;DR:这里是正在使用的应用程序的三个屏幕截图,以使事情更容易可视化。

在我的应用程序中,不能有两个同名的类别。如果有两个同名的类别,则调用 tkMessagebox.showerror(...)。这可以正常工作,并且我的程序仍然可以正常运行,只是我不能再突出显示或修改任何一个输入字段。

我起初以为它们出于某种原因被设置为 DISABLED 或只读,但我知道这不可能,因为我的程序的按钮仍然有效,并且当我按下“添加类别”时,其条目字段的内容被复制到类别列表,然后从条目字段中删除。当设置为 DISABLED 或 readonly 时,即使通过代码(.delete(...) 和 .insert(...) 调用不起作用),输入字段也是不可修改的,但我的应用程序显然能够使用这些调用。

此外,当我将鼠标悬停在输入字段上时,我的光标会切换到“阅读光标”(就像您将鼠标悬停在此文本上时一样)。当我尝试单击、单击并拖动或键入时,没有任何反应。就好像条目字段已经永久失去焦点。

4

0 回答 0