gtk 应用程序使用内嵌浏览器 gtkmozembed
来源:互联网 发布:java获取字符时间毫秒 编辑:程序博客网 时间:2024/04/29 12:34
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
sudocp libxul.so /usr/lib/
sudocp libmozjs.so /usr/lib/
sudocp 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");
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;
}
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 应用程序使用内嵌浏览器 gtkmozembed
- gtk 应用程序使用内嵌浏览器 gtkmozembed
- gtk+gtkmozembed linux嵌入firefox
- 在ubuntu9.10 下使用gtkmozembed构件
- 在ubuntu9.10 下使用gtkmozembed构件
- 【转载】WIN32 应用程序内嵌IE浏览器(注意非MFC)
- 内嵌浏览器
- 在Windows下使用GTK+开发GUI应用程序
- IOS的Safari浏览器跳转到应用程序和应用程序应用内跳转到手机应用程序
- gtk-theme-switch 设置GTK应用程序主题
- WPF应用程序内嵌网页
- SWT Browser(内嵌浏览器)
- java swing内嵌浏览器
- java swing内嵌浏览器
- Android《内嵌浏览器-WebView》
- java内嵌浏览器DJNativeSwing
- SWT Browser(内嵌浏览器)
- J2SE内嵌浏览器,DJNativeSwing
- Oracle10.2.0.4修改rac的ip
- 如何在一台服务器上实现多个Web站点
- 我的学习笔记-----关于图片文件传输接收
- jquery 编辑table tr
- VC中调用外部函数的命令
- gtk 应用程序使用内嵌浏览器 gtkmozembed
- 关于extjs中对所属对象的引用方式
- 【android 自动化测试】Testing和Instrumentation
- 结构体继承自结构体
- mysql视图简介
- 如何在UIAlertView中显示进度条
- X5的action应用
- android学习----WindowManager.LayoutParams
- Mule ESB 三种构建方式简介,比较