Felix Brown
Felix Brown
### What happened? **问题概况:** 根据我的调试,QCompleter的匹配计算逻辑似乎是在当用户在文本框输入文本时被触发的,将输入文本和被匹配项进行比对筛选,最后显示要展示的项目。这种逻辑要求在用户输入文本前就已经存在被匹配文本。但是如果将QCompleter作为搜索建议展示组件的话,原本的逻辑就无法实现展示建议的目的。 **问题出现的场景:** 我正在实现一个输入地点的自动补全功能,逻辑是这样的:首先用户输入文本在输入完成2秒后后端向API服务器发起请求,根据用户输入文本提供地点建议的json数据,后端接收到数据后会创建匹配项目的列表,但是问题在于用户的输入文本时,被匹配的文本还不存在,在输入操作结束后才会创建被匹配文本的列表,这就导致无法进行和创建的列表匹配,就不会展示建议面板,除非我在被匹配项目列表创建好后随意输入任何一个字符比如空格再删掉这个空格才会展示建议。 **更多问题:** 由于我的应用后端的机制是文本框有变动,输入完成2秒后就会向服务器发出请求,那如何预防用户点击建议项目填充而导致激发API请求而浪费我的API Token。我曾试过一些方法比如监听QCompleter的填充,但结果均没成功。 另外,如何设置QCompleter建议面板在失去焦点时仍然展示,就比如我鼠标点击别的地方仍然会展示建议面板而不会关闭他? ### Operation System Windows 10 22H2 ### Python Version 3.12 64bit ### PyQt/PySide Version 5.15.11 ### PyQt/PySide-Fluent-Widgets Version may...