QT多标签浏览器(一)

2018-06-17 21:42:06来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

       最近在用QT写个简单的浏览器,原来的版本是5.7,没有QWebView,而是使用QAxWidget加载ie。优点是打开网页速度快,但是当点击网页中的链接时,会自动调用windows的IE浏览器,水平有限,不知道如何在自己的程序中打开,搜索无果,不得已放弃使用QAxWidget(大神求教!!!),降低QT版本至5.6,使用QWebView。

(1)绘制QT界面

增加6个QToolButton和一个QLineEdit,图标在QT安装目录下搜索.png即可获得;

增加一个QTabWidget和一个QWebView,效果如下:

(2)添加槽函数用于打开网页,并链接地址栏的回车信号和槽函数

void LXBrowser::goWeb()
{
	QString url = ui.addressLineEdit->text();
	url = "http://" + url; // 需要加上http:://才能打开网页。。。有待改进
	ui.webView->load(url);
}

(3)连接QWebView中的linkClicked(const QUrl &)信号和槽函数,用于在新页面打开网页

connect(ui.webView, SIGNAL(linkClicked(const QUrl &)), this, SLOT(clickLink(const QUrl &)));
void LXBrowser::clickLink(const QUrl &linkUrl)
{
    QWebView* newWebView = new QWebView();
    newWebView->load(linkUrl);
    int index = ui.tabWidget->addTab(newWebView, linkUrl.fileName());
    ui.tabWidget->setCurrentIndex(index);
    ui.addressLineEdit->setText(linkUrl.toString());
}

效果:

超级简单的浏览器就完成了,哈哈哈

存在问题:

1、前进、后退、停止、收藏、历史等功能尚未实现;

2、新标签的title;

3、打开网页慢,尤其是爱奇艺、优酷等视频或者大量图片的网站;

4、需要添加状态栏显示当前网页加载的百分比

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:洛谷P1317 低洼地

下一篇:洛谷P2723 丑数 Humble Numbers