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

转载 2013年12月04日 14:15:33

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+中实现嵌入式窗口

Windows下的托盘(tray)是不是很酷呢?利用这种机制,你可以方便的把自己的应用程序嵌入到任务栏里。大多数时候,应用程序在后台工作,不会干扰用户,当用户想查看某些信息时,只点一下这个小图标就行了...
  • absurd
  • absurd
  • 2006-02-16 20:10
  • 7470

如何编译JCEF以及内嵌到桌面应用程序中

前言 背景说明 什么是CEF 谁在用CEF 什么是JCEF 如编译和使用JCEF 准备环境 下载JCEF源码 手动编译 在eclipse里使用jcef 前言在项目中需要在桌面应用程序中内嵌浏览器, 尝...
  • wzdark
  • wzdark
  • 2015-12-25 10:43
  • 3910

通过挂钩API函数给加了保护的应用程序内嵌补丁

http://www.pediy.com/kssd/pediy08/pediy8-793.htm 通过挂钩API函数 给加了保护的应用程序内嵌补丁 原著:SUB Z3R0 主题:Spirit ...

在应用程序中内嵌tomcat7.0

经过一上午的摸索,终于搞定了如何内嵌tomcat7.0。其实挺简单的,主要在于与以前版本不同,tomcat7.0只要新建一个对象,就可以完成JSP服务器的启动与关闭,这个关键的类就是Tomcat;以下...

运行你的第一个GTK+应用程序

原文见:http://timity.nease.net/documents/gtk+/rungtk+.htm 一、文档目的 通过阅读这个文档,可以让你完成一个GTK+应用程序的编译、运行和调试...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)