我使用来自textChanged
的{{1}}信号在PyQt4中进行即时搜索。
搜索足够快,但更新QLineEdit
结果有点慢(或者我编写的函数,它构建了输出字符串)。 无论如何,如果在一定时间内发布了新的QTextEdit
信号,是否有一种延迟搜索或中断搜索的方法?目标是避免输入'挂起'以常见的打字速度在搜索字段中输入内容时。
或解决此问题的任何其他建议?也许没有线程..
基本上看起来像这样
textChanged
好的,这是我从Google示例中做出的,peakxu建议
class MyApp(..):
def __init__(self):
....
self.central.editSearch.textChanged.connect(self.search_instant)
def search_instant(self, query):
# skip strings with less than 3 chars
if len(query) < 3:
return
self.search()
def search(self)
... search in lots of strings ...
self.central.myTextEdit.setText(result)
# reimplemented function building the output
答案 0 :(得分:2)
您可能需要考虑几种替代方案。
目前第一个选项听起来最好。
更新: Qt Google Suggest example可能是一个有用的参考。他们使用QTimer跟踪用户输入之间的时间。