我一直在寻找一种方法来添加自动完成到一个tkinterttk.条目小装置。我还偶然发现了一个建议this solution的网站。读了罗布的答案,我能够使它正常工作,无论什么情况。但是对于我想要的那种用法(在从以前的记录中自动完成的同时向SQLite数据库添加一个新项),按键也有一些奇怪的地方。我尝试的代码的第一个版本(来自this link,作者是IanWeisser)将在用户每次按下时删除一个字符。StackOverflow上的这个版本删除了捕捉<Backspace>, <Left>, <Right>, <Up>, <Down>
击键的代码行,但我认为在键入时,如果用户按左键,自动完成应该被暂停,删除光标位置后选定的文本。在
那么,我们如何更改代码,以便用户可以正常输入文本,并返回几个字符来更正任何拼写错误,而不删除文本呢?在
我根据这两个来源编辑了代码,对我来说,我认为这样做更好:
基本上,这是伊恩·韦瑟的版本。{I在“允许用户返回”中添加了一个“^并允许用户返回”中添加了一个“^键来更正”中的错误。现在,如果用户返回并编辑某个内容,则先前输入的文本的其余部分将保持不变,并且只有在用户按下(只删除剩余的自动完成功能,而其余部分保持不变)或退格键(按预期一次删除自动完成和一个字符)时,文本才会被删除。如果用户鼠标单击文本,则不会删除任何内容。在
相关问题 更多 >
编程相关推荐