gpt4 book ai didi

c++ - QRegExp 不匹配任何东西

转载 作者:行者123 更新时间:2023-11-28 04:22:26 26 4
gpt4 key购买 nike

我有一个由其他人制作的应用程序,我需要修复它。 View 上有一个图表和一个用于过滤图表的文本框,但过滤器不起作用。出于某种原因,QRegExp 找不到任何东西。

我正在使用 QT5.12.1 和 VS2015。

void ChartWidget::filterSeriesByName(QString name) {
// QString text=ui.lineEditFilterByName->text();
QRegExp regExp(name, Qt::CaseSensitive);
proxyModel->setFilterRegExp(regExp);
setFilterLabel();

foreach (QLegendMarker* marker, chart->legend()->markers())
{
if(regExp.isEmpty() || regExp.exactMatch(marker->series()->name())) {
setMarkerVisible(marker,true,true);
}
else {
setMarkerVisible(marker,true,false);
}
}
}

void ChartWidget::setFilterLabel() {
//resetVerticalHeader();
QString filteredCount = QString::number(proxyModel->rowCount()).append(" / ");
filteredCount.append(QString::number(model->rowCount()));
filteredCount.append(" kayıt gösteriliyor");

ui.labelFilter->setText(filteredCount);

QFont font = ui.labelFilter->font();
if (proxyModel->rowCount() != model->rowCount()) {
ui.labelFilter->setForegroundRole(QPalette::Link);
font.setStyle(QFont::StyleItalic);
ui.labelFilter->setFont(font);
} else {
ui.labelFilter->setForegroundRole(QPalette::WindowText);
font.setStyle(QFont::StyleNormal);
ui.labelFilter->setFont(font);
}
}

最佳答案

我有一些类似的东西,当我向参数 QString 添加正则表达式时它起作用了。试试这个:

....
QString filterStr = "^.*"+name+".*$";
QRegExp regExp(filterStr);
....

关于c++ - QRegExp 不匹配任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55141207/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com