1.使用ShellExecute
效果图:
相关代码:
void Open_url::on_pushButton_clicked()
{QString path1 = "explorer.exe";QString url=ui->lineEdit->text();ShellExecute(NULL, L"open", path1.toStdWString().c_str(), url.toStdWString().c_str(), NULL, SW_SHOW);
}
测试:
输入内容 | 是否可以打开 |
www.json.cn/ | 否 |
https://www.json.cn/ | 是 |
http://www.json.cn/ | 是 |
https://v.qq.com/ | 是 |
http://v.qq.com/ | 是 |
v.qq.com/ | 否 |
v.qq.com | 否 |
http://v.qq.com | 是 |
https://www.IQIyi.com/ | 是 |
https://www.IQIYI.com/ | 是 |
总结:
输入的url必须:
(1)前面加http://或者https://,不可忽略。
(2)最后是否有/,没有影响。
(3)大小写,可能没有影响(因为测试很少)。
还有另一种写法:
参考:
用C++打开网页_c++网页运行-CSDN博客
效果图:
代码:
void open_url2::on_pushButton_clicked()
{QString url=ui->lineEdit->text();HINSTANCE v = ShellExecute(NULL, L"open", url.toStdWString().c_str(), NULL, NULL, SW_SHOW);int value = (int)v;ui->label_2->setText(QString::number(value));
}
2.参考:
QT打开网页 QURL - 一般首席 - 博客园 (cnblogs.com)
效果图:
代码:
void open_url3::on_pushButton_clicked()
{QUrl url(ui->lineEdit->text());bool flag=QDesktopServices::openUrl(url);if(flag)ui->label->setText("打开成功");else ui->label->setText("打开失败");
}