/Google_simu

Qt实现的Google浏览器

Primary LanguageJavaScript

GoogleSimu

本项目是基于QT5.12实现的谷歌浏览器的模拟,主要实现了以下功能:

  • 浏览器的基本 前进、后退、刷新、返回主页、书签、收藏等基本功能
  • 复现了谷歌的彩蛋游戏:网络无法连接时的像素小恐龙游戏
  • 实现了Pdf阅读功能,载入本地Pdf,并提供简单的关键字搜索、缩略图等常用功能的接口

浏览器基础功能实现

基于Chromium 项目的QWebEngineView来实现。Qt WebEngine 将页面渲染和 JavaScript 执行从 GUI 进程分离到 Qt WebEngine Process 中,来实现常用的前进、后退、刷新等基本功能。

书签、收藏等功能通过fstream进行文件读写来实现。将收藏的Url写入用户数据,用户查看时将该文件读出并显示。

像素小恐龙游戏实现

当网络无法连接时,谷歌浏览器会出现一个小恐龙,按下空格键即可开始游戏。游戏主要是通过QTimer来实现,每隔一段时间就刷新一次,通过刷新来改变小恐龙的姿态(以达到运动的动画效果)、障碍物的位置、障碍物的种类等。通过QKeyEvent来实现方向键的监听,当方向上键按下时,小恐龙跳起来;方向下键按下时小恐龙趴下躲避飞鸟的攻击。

障碍类型有两种种:仙人掌、飞鸟。

右上角显示玩家的分数,每隔一段时间分数增加。

当小恐龙与障碍物相撞时,游戏结束,通过QMessageBox来提示用户游戏结束。

pdf阅读器实现

参考了qpdf的实现,使用 Qt WebEngine 的 pdf.js JavaScript PDF 渲染器的包装来实现pdf阅读功能。

通过引入QPdfWidget来实现pdf的载入、显示、缩略图、关键字搜索等功能。

使用方式

1. 编译

qmake
make

2. 运行

./GoogleSimu

本机环境

  • Qt 5.12.12
  • Qt Creator 5.0.2
  • 操作系统:Windows 10
  • 编译器:MSVC 2017 64-bit
  • 项目构建:qmake