QT多标签浏览器(一)
2018-06-17 21:42:06来源:未知 阅读 ()
最近在用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 低洼地
- 博弈--巴什博弈 2020-04-24
- 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的 2020-04-15
- 严格次小生成树 2020-03-08
- 结题报告 2020-03-07
- 树结构基础 2020-02-18
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash