杀破狼961

杀破狼961技术博客

gtk 应用程序使用内嵌浏览器 gtkmozembed

GTK程序中内嵌浏览器


我们使用的是gtkmozembed它由xulrunner提供,这两个东西到底是什么意思,我也不知道。

环境搭建:

用的系统是ubuntu 10.04

sudoapt-get install xulrunner-1.9.2-dev

这一行就够了libxul-dev就默认下载了(应该是,因为在/usr/lib/pkgconfig/下有对应的文件)

还运行过一条,不知道有没有这个必要

sudo apt-get install xulrunner



编译:

添加头文件

#include</usr/include/xulrunner-1.9.2.24/gtkmozembed.h>


链接

链接的时候,添加两个链接选项

QWQ_LIB+= `pkg-config --libs libxul`

QWQ_LIB+= `pkg-config --libs mozilla-js`



运行

运行的时候,会提示找不到库文件:

cd/usr/lib/xulrunner-1.9.2.24

sudo cp libxul.so /usr/lib/

sudo cp libmozjs.so /usr/lib/

sudo cp libxpcom.so /usr/lib/


把这三个库文件拷贝过去就可以了



代码编写:



源文件

#include <gtk/gtk.h>

#include</usr/include/xulrunner-1.9.2.24/gtkmozembed.h>

int main(int argc, char *argv[])

{

gtk_init(&argc,&argv);

GtkWidget *window =gtk_window_new(GTK_WINDOW_TOPLEVEL);

gtk_window_set_default_size(GTK_WINDOW(window),640, 480);

g_signal_connect(GTK_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit), NULL);

/* 设置配文件 缓存目录 */

gtk_moz_embed_set_profile_path("/home/qwq/zhihui","mybrowser");

/* xulrunner库文件的位置 不同系统可能会不同*/

gtk_moz_embed_set_path("/usr/lib/xulrunner-1.9.2.24");

GtkWidget *html =gtk_moz_embed_new();

gtk_container_add(GTK_CONTAINER(window),html);


gtk_moz_embed_load_url(GTK_MOZ_EMBED(html),"http://www.126.com/");

gtk_widget_show_all(window);

gtk_main();

return 0;

}


gcc -Wall -g gtkweb.c -o gtkweb`pkg-config --cflags --libs gtk+-2.0 libxul  mozilla-js mozilla-gtkmozembed`

makefile

gtkweb:gtkweb.o

gcc -Wall gtkweb.o -o gtkweb`pkg-config --libs gtk+-2.0 libxul mozilla-js`

gtkweb.o:

gcc -Wall -c gtkweb.c -ogtkweb.o `pkg-config --cflags gtk+-2.0`

c:

rm gtkweb gtkweb.o

r:

./gtkweb




阅读更多
想对作者说点什么? 我来说一句

Gtk编程实例-Web浏览器源代码

2008年04月05日 15KB 下载

从零开始web

web

kevin66654 kevin66654

2016-04-15 21:37:25

阅读数:383

没有更多推荐了,返回首页

不良信息举报

gtk 应用程序使用内嵌浏览器 gtkmozembed

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭