我的建议是:有一种方法可以搜索两个或多个字符串(结果的联合)
FILTRO->setFilterFixedString(searchText1);
FILTRO->setFilterFixedString(searchText2);
@@我已经知道如何找到具有两个 Qstring 的交集,或者只是其中一个,但不是具有的联合字符串之一或另一个或两者
谢谢你
我的建议是:有一种方法可以搜索两个或多个字符串(结果的联合)
FILTRO->setFilterFixedString(searchText1);
FILTRO->setFilterFixedString(searchText2);
@@我已经知道如何找到具有两个 Qstring 的交集,或者只是其中一个,但不是具有的联合字符串之一或另一个或两者
谢谢你
您必须为您的目的使用正则表达式。尝试使用类似这样的setFilterRegExp :
const QString firstString = "Hello";
const QString secondString = "Bye";
const QString exp = QString("/^.*?(?:\b|_)%1(?:\b|_).*?(?:\b|_)%2(?:\b|_).*?$/m").arg(firstString, secondString);
QRegExp regExp(exp);
现在在 QSortFilterProxyModel 类中使用这个表达式。
我没有测试这个表达式,只是一个例子。您将在此链接中找到完整的解释:Regular expression to find two strings anywhere in input