如何取消选择文本条目 box/update 使其在按下 enter 时只读?

How do I deselect a text entry box/update it to read only when enter is pressed?

我最近一直在研究一些简单的 UI,这让我感到困惑。我检查了输入框上的几个不同的 Whosebug 线程以及其他文档和视频教程,但在这方面一无所获。

我有一个文本框作为 UI 的一部分。用户应该 select 它,输入一个名字,然后按回车键,此时我将使用 .get() 函数来获取名字。但是,我还想将 cursor/swap 删除为只读模式。

问题就出在这里。如果我 root.bind .configure(state="readonly") 或 state="disabled" 的回车键它不会等到按下回车键来禁用或使输入框只读

有谁知道我如何使它工作或为什么它不起作用?

我认为你必须将 NAME_OF_ENTRY_WIDGET.bind('<Return>', FUNCTION_NAME_HERE) 设置为一个函数,然后在该函数中将入口小部件的状态设置为禁用

def FUNCTION_NAME_HERE():
    TEXT = NAME_OF_ENTRY_WIDGET.get()

    ....

    NAME_OF_ENTRY_WIDGET['state'] = DISABLED
    return TEXT

您可能必须将小部件作为参数传递给函数