У меня есть строка. Например:
QString myString = "Today is Tuesday";
Требуется следующее: когда пользователь вводит строку, если эта строка содержится в myString
, то эта часть в myString
должна быть выделена жирным шрифтом и без учета регистра (Qt::CaseInsensitive
), но в формате myString
должно остаться (символы верхнего регистра должны быть заглавными, а символы нижнего регистра должны быть строчными).
Например:
- типы пользователей:
tu
-> Сегодня Tu esday
- типы пользователей:
ES
-> Сегодня Tu es day
- типы пользователей:
aY
-> Tod ay - вторд ay
Это моя функция:
void myClass::setBoldForMatching( const QString &p_text )
{
QRegExp regExp( p_text, Qt::CaseInsensitive, QRegExp::RegExp );
if ( !p_text.isEmpty() )
{
if ( myString.contains( regExp ) )
{
myString = myString.replace( p_text, QString( "<b>" + p_text + "</b>" ), Qt::CaseInsensitive );
}
}
}
Эта функция неверна, потому что
пользовательские типы t
-> t oday - t .
Мне нужно T oday - T uesday
Как мне обновить мою функцию?