Qt检查有效URL
Qt check for valid URL
我正在尝试创建一个Qt应用程序,用于检查用户在文本编辑中输入的URL是否有效。
这就是我到目前为止所拥有的,但它只说输入的URL是有效的,即使我输入了一个无效的URL。
bool checkUrl(const QUrl &url) {
if (!url.isValid()) {
//qDebug(QString("Invalid URL: %1").arg(url.toString()));
return false;
}
return true;
}
void MainWindow::on_pushButton_clicked()
{
QString usertext = ui->plainTextEdit->toPlainText();
QUrl url = QUrl::fromUserInput(usertext);
if (checkUrl(url))
ui->textEdit->setPlainText("Valid URL.");
else
ui->textEdit->setPlainText("Invalid URL.");
}
同样在qDebug行上有一个错误:
/home/user/HTML/mainwindow.cpp:32: error: no matching function for call to ‘qDebug(QString)’
有人知道问题出在哪里吗?
您应该像这样使用qDebug
:
qDebug() << QString("Invalid URL: %1").arg(url.toString());
还要注意,QUrl::isValid()
不检查url的语法。您可能希望使用正则表达式来验证url。
QUrl::isValid()
基本上只检查字符编码是否正确。你认为什么是错误的网址?
关于qDebug
,您使用的表单基本上封装了printf
,因此它不适用于QString
。你想做的事:
qDebug() << QString("Invalid URL: %1").arg(url.toString());
相关文章:
- 欧拉项目#8答案是大以获得有效答案
- 调整大小后指向元素值的指针unordered_map有效?
- 为什么是0;C++中的有效语句
- 最高有效数字侧的第N位
- GCC对可能有效的代码抛出init list生存期警告
- 有效地使用std::unordered_map来插入或增加键的值
- c++中O(n^(1/3))中一个数的除数的有效计数
- 使用无符号字符数组有效存储内存
- 自定义先决条件对移动分配运算符有效吗
- 如何使用url确定网站协议
- 下载URL中的所有文件
- 使用libcurl提交批量url的正确BING Api POST url是什么
- 为什么将值返回函数传递给重载=运算符对运算符函数有效,而对其他运算符无效
- 有哪些有效的方法可以消除一组 100 万个字符串>重复数据?
- 为什么这种直接初始化有效?(C++17)
- 递归函数有效,但无法记忆
- 在C++中初始化向量映射的最有效方法
- 有效地搜索大量URL列表
- Qt检查有效URL
- 如何检查指定的字符串是否是有效的URL或是否使用C++代码