Python 如何使用Qt.MatchContains在PyQt4中为QCompleter设置过滤器模式

Python 如何使用Qt.MatchContains在PyQt4中为QCompleter设置过滤器模式,python,qt,pyqt,Python,Qt,Pyqt,我目前正在开发一个支持PyQt4和PyQt5的应用程序 我有一个QLineEdit和一个QCompleter(带有一个QStringListModel)。我想当用户在QLineEdit中键入时,完成者提出匹配案例 例:我的列表和用户类型中有host-001,我想要QLineEdit建议host-001 我找到了一种使用PyQt5的方法: host_list = ['host-001', 'host-002', 'host-003'] model = QStringListModel() mod

我目前正在开发一个支持PyQt4和PyQt5的应用程序

我有一个QLineEdit和一个QCompleter(带有一个QStringListModel)。我想当用户在QLineEdit中键入时,完成者提出匹配案例

例:我的列表和用户类型中有
host-001
,我想要QLineEdit建议
host-001

我找到了一种使用PyQt5的方法:

host_list = ['host-001', 'host-002', 'host-003']

model = QStringListModel()
model.setStringList(hosts_list)

completer = QCompleter()
completer.setFilterMode(Qt.MatchContains)

completer.setModel(model)

line_search = QLineEdit()
line_search.setCompleter(completer)
对于PyQt4,问题是该方法不存在,但
Qt.MatchContains
yes


我已经搜索了doc,但找不到如何使用它。我该怎么做?

PyQt4中没有内置的等效项。如果您想要类似的功能,您必须自己实现它。(PS:QCompleter,它们不是特定的,它们是一些不同API使用的通用标志)。正如@ekhumoro所说,没有内置的等价物,这里有两个链接可以帮助您:和