本项目是基于QT5.12实现的谷歌浏览器的模拟,主要实现了以下功能:
- 浏览器的基本 前进、后退、刷新、返回主页、书签、收藏等基本功能
- 复现了谷歌的彩蛋游戏:网络无法连接时的像素小恐龙游戏
- 实现了Pdf阅读功能,载入本地Pdf,并提供简单的关键字搜索、缩略图等常用功能的接口
基于Chromium 项目的QWebEngineView来实现。Qt WebEngine 将页面渲染和 JavaScript 执行从 GUI 进程分离到 Qt WebEngine Process 中,来实现常用的前进、后退、刷新等基本功能。
书签、收藏等功能通过fstream进行文件读写来实现。将收藏的Url写入用户数据,用户查看时将该文件读出并显示。
当网络无法连接时,谷歌浏览器会出现一个小恐龙,按下空格键即可开始游戏。游戏主要是通过QTimer来实现,每隔一段时间就刷新一次,通过刷新来改变小恐龙的姿态(以达到运动的动画效果)、障碍物的位置、障碍物的种类等。通过QKeyEvent来实现方向键的监听,当方向上键按下时,小恐龙跳起来;方向下键按下时小恐龙趴下躲避飞鸟的攻击。
障碍类型有两种种:仙人掌、飞鸟。
右上角显示玩家的分数,每隔一段时间分数增加。
当小恐龙与障碍物相撞时,游戏结束,通过QMessageBox来提示用户游戏结束。
参考了qpdf的实现,使用 Qt WebEngine 的 pdf.js JavaScript PDF 渲染器的包装来实现pdf阅读功能。
通过引入QPdfWidget来实现pdf的载入、显示、缩略图、关键字搜索等功能。
qmake
make
./GoogleSimu
- Qt 5.12.12
- Qt Creator 5.0.2
- 操作系统:Windows 10
- 编译器:MSVC 2017 64-bit
- 项目构建:qmake