Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt检查有效的URL_C++_Qt_Url - Fatal编程技术网

C++ Qt检查有效的URL

C++ Qt检查有效的URL,c++,qt,url,C++,Qt,Url,我正在尝试创建一个Qt应用程序,它检查用户在文本编辑中输入的URL是否有效 这是我到目前为止所做的,但它只会说输入的URL是有效的,即使我输入了一个无效的URL bool checkUrl(const QUrl &url) { if (!url.isValid()) { //qDebug(QString("Invalid URL: %1").arg(url.toString())); return false; } return t

我正在尝试创建一个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)’
有人知道问题是什么吗,因为它一直返回true?

QUrl::isValid()
基本上只检查字符编码是否正确。您认为错误的url是什么

对于
qDebug
,您使用的表单基本上封装了
printf
,因此它不适用于
QString
。您要执行以下操作:

qDebug() << QString("Invalid URL: %1").arg(url.toString());
qDebug()
QUrl::isValid()
基本上只检查字符编码是否正确。您认为错误的url是什么

对于
qDebug
,您使用的表单基本上封装了
printf
,因此它不适用于
QString
。您要执行以下操作:

qDebug() << QString("Invalid URL: %1").arg(url.toString());

qDebug()您应该像这样使用
qDebug

qDebug() << QString("Invalid URL: %1").arg(url.toString());

qDebug()您应该像这样使用
qDebug

qDebug() << QString("Invalid URL: %1").arg(url.toString());
qDebug()