参考资料:
url regular expression:https://stackoverflow.com/search?q=url+regular+expression
Qt regular expression:https://www.cnblogs.com/hellovenus/p/4984751.html
Describes search engine parameters:https://blog.csdn.net/jackpk/article/details/5629710?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
void slotUrlLineEditReturnPressed()
{
QString text = m_urlLineEdit->text();
int pos = 0;
QRegExp rx;
rx.setPattern("(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]");
QRegExpValidator rv;
rv.setRegExp(rx);
QValidator::State rvState = rv.validate(text, pos);
if (rvState == QValidator::Acceptable) {
m_engineView->setUrl(QUrl::fromUserInput(text));
} else {
QString targer_url;
switch (mApp->DSettings()->CurrentSearchEngine()) {
case 0:
targer_url =
QString("https://www.baidu.com/baidu?tn=monline_3_dg&ie=utf-8&wd=%1").arg(text);
m_engineView->setUrl(QUrl(targer_url));
break;
case 1:
targer_url = QString("https://www.google.com/search?q=%1").arg(text);
m_engineView->setUrl(QUrl(targer_url));
break;
case 2:
targer_url =
QString("https://www.bing.com/search?form=MOZLBR&pc=MOZI&q=%1").arg(text);
m_engineView->setUrl(QUrl(targer_url));
break;
case 3:
targer_url =
QString("https://www.so.com/s?ie=utf-8&src=360chrome_toolbar_search&q=%1")
.arg(text);
m_engineView->setUrl(QUrl(targer_url));
break;
}
}
}