【直播】java调用webkit内核,做自己的浏览器。
捣鼓这个东西,是因为它http://tieba.baidu.com/p/2710067878
我之前发过一贴,利用HTML来做本地APP界面。由于调用的是IE内核,导致HTML兼容性较差,也无法充分利用HTML5 ,CSS3 。
今天无聊,找了一下资料。接下来开始直播做最简易的webkit内核浏览器。
首先下个 eclipse 再说。
我之前发过一贴,利用HTML来做本地APP界面。由于调用的是IE内核,导致HTML兼容性较差,也无法充分利用HTML5 ,CSS3 。
今天无聊,找了一下资料。接下来开始直播做最简易的webkit内核浏览器。
首先下个 eclipse 再说。
准备工作:
下载http://qt-jambi.org/downloads
一路next,安装好之后是这样:
--
运行qtjambi.bat一次就OK了。
下载http://qt-jambi.org/downloads
一路next,安装好之后是这样:
--
运行qtjambi.bat一次就OK了。
写一个类
package j8;
import com.trolltech.qt.core.QObject;
import com.trolltech.qt.gui.QApplication;
import com.trolltech.qt.webkit.QWebView;
public class Browser extends QObject {
public static void main(String args[]) {
QApplication.initialize(args);
QWebView view = new QWebView();
view.setGeometry(50, 50, 800, 600);
view.setHtml("<button onclick=\"alert('哈喽沃德');\" style=\"width:100px; height:100px; border-radius:100px; border:1px solid #ccc; background:#f3f3f3; font-size:12px; color:#000; cursor:pointer;\">我是一个按钮</button>");
//view.load(new QUrl("http://www.baidu.com"));
view.show();
QApplication.exec();
QApplication.quit();
}
}
---
为了简单,我就直接setHtml();一个按钮上去了,也可以读本地html进来,或者设置url。
为了测试是否支持CSS3,写了一个圆形的按钮(简陋勿喷)。
运行结果如下
package j8;
import com.trolltech.qt.core.QObject;
import com.trolltech.qt.gui.QApplication;
import com.trolltech.qt.webkit.QWebView;
public class Browser extends QObject {
public static void main(String args[]) {
QApplication.initialize(args);
QWebView view = new QWebView();
view.setGeometry(50, 50, 800, 600);
view.setHtml("<button onclick=\"alert('哈喽沃德');\" style=\"width:100px; height:100px; border-radius:100px; border:1px solid #ccc; background:#f3f3f3; font-size:12px; color:#000; cursor:pointer;\">我是一个按钮</button>");
//view.load(new QUrl("http://www.baidu.com"));
view.show();
QApplication.exec();
QApplication.quit();
}
}
---
为了简单,我就直接setHtml();一个按钮上去了,也可以读本地html进来,或者设置url。
为了测试是否支持CSS3,写了一个圆形的按钮(简陋勿喷)。
运行结果如下
再试试打开百度:(发现问题了,有的图片显示不出来,可以解决,在刚才安装的qtjambi根目录下,plugins\imageformats 和 codecs 分别是解决 图片无法显示 和 某些网站乱码的问题。)
好了。到这里,简易的浏览器就出来了。
另外加上一个输入框,一个前进 后退 刷新 按钮, 浏览器就出炉了。
不过实际上,你肯定不会用它来浏览网页。
而本贴的初衷,也不是让你用它来写浏览器的(当然可以写)
我本意是想用它,改造我 一楼说的那个东西。用它做本地APP,嵌入网页的形式。
就像QQ的很多子窗体 ,都是嵌的 webview 。下图就可以发现,它是一个网页。
http://id.qq.com/level2/index.html
另外加上一个输入框,一个前进 后退 刷新 按钮, 浏览器就出炉了。
不过实际上,你肯定不会用它来浏览网页。
而本贴的初衷,也不是让你用它来写浏览器的(当然可以写)
我本意是想用它,改造我 一楼说的那个东西。用它做本地APP,嵌入网页的形式。
就像QQ的很多子窗体 ,都是嵌的 webview 。下图就可以发现,它是一个网页。
http://id.qq.com/level2/index.html