c++打开网页

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("打开失败");
}

 

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
可以使用Qt自带的QWebView类来实现打开网页的功能。下面是一个简单的例子: ```cpp #include <QApplication> #include <QWebView> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWebView *webView = new QWebView(); webView->show(); webView->load(QUrl("https://www.baidu.com")); return app.exec(); } ``` 这段代码创建了一个QWebView对象,加载了百度的网页,并显示在窗口上。但是要注意的是,QWebView默认是不支持点击链接的,需要我们手动开启。 在QWebView的构造函数中,我们需要设置一些属性: ```cpp QWebView *webView = new QWebView(); webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); connect(webView, SIGNAL(linkClicked(const QUrl&)), webView, SLOT(load(const QUrl&))); ``` 这里我们设置了QWebPage的LinkDelegationPolicy属性为DelegateAllLinks,表示所有链接都交由Qt来处理。然后我们连接了linkClicked信号和load槽函数,这样当用户点击链接时,就会自动加载链接指向的网页。 完整的代码如下: ```cpp #include <QApplication> #include <QWebView> #include <QWebPage> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWebView *webView = new QWebView(); webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); connect(webView, SIGNAL(linkClicked(const QUrl&)), webView, SLOT(load(const QUrl&))); webView->show(); webView->load(QUrl("https://www.baidu.com")); return app.exec(); } ``` 希望可以帮助到你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lpl还在学习的路上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值