pyqt4+python3 的 QString.contains() 方法的解决方法是什么?

what is the workaround for QString.contains() method for pyqt4+python3?

我一直在将 Qt/C++ 小部件代码转换为 PyQt4+Python3。我定义了一个 QFileSystemModel,它 returns 的项目 "data" 的文件名类型为 "str"。 (这是 Qt/C++ 或 Python2x 中的 QString 类型)。

我必须搜索基于 QRegEx 的过滤器。在 Qt/C++ 和 Python2x 中,这是通过 QString.contains(QRegEx) 实现的。

我发现 QString 在 Python3 中被删除了。由于现在 Python3 中的所有内容现在都是 "str" 类型,我如何实现旧方法 QString.contains(QRegEx)?

谢谢, 科丹达

对于字符串操作,Python 通常优于 Qt 必须提供的任何东西(特别是当涉及到正则表达式时)。

但是如果你必须使用QRegExp:

    # test whether string contains pattern
    if QRegExp(pattern).indexIn(string) != -1:
        print('found')

Python:

    if re.search(pattern, string):
        print('found')