Chinaunix

标题: 在 gtkmm 程序中使用 webkit [打印本页]

作者: zhujiang73    时间: 2016-01-19 01:07
标题: 在 gtkmm 程序中使用 webkit
          好像目前 gtkmm 中没有 webkit,如果要用可以调用 C 语言的  webkitgtk 。


  1. WebWin::WebWin(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& refBuilder)
  2.     : Gtk::ApplicationWindow(cobject),
  3.       m_refBuilder(refBuilder)
  4. {
  5.     p_button01 = nullptr;
  6.     m_refBuilder->get_widget("toolbutton1", p_button01);

  7.     p_button02 = nullptr;
  8.     m_refBuilder->get_widget("toolbutton2", p_button02);

  9.     p_button03 = nullptr;
  10.     m_refBuilder->get_widget("toolbutton3", p_button03);

  11.     if(p_button01)
  12.     {
  13.         p_button01->signal_clicked().connect( sigc::mem_fun(*this, &WebWin::on_button01_clicked) );
  14.     }

  15.     if(p_button02)
  16.     {
  17.         p_button02->signal_clicked().connect( sigc::mem_fun(*this, &WebWin::on_button02_clicked) );
  18.     }

  19.     if(p_button03)
  20.     {
  21.         p_button03->signal_clicked().connect( sigc::mem_fun(*this, &WebWin::on_button_exit) );
  22.     }

  23.     Gtk::ScrolledWindow  *p_scroll = new Gtk::ScrolledWindow();

  24.     p_con = nullptr;
  25.     m_refBuilder->get_widget("alignment1", p_con);

  26.     p_web_view =  WEBKIT_WEB_VIEW( webkit_web_view_new() );

  27.     Gtk::Widget *p_web = Glib::wrap( GTK_WIDGET( p_web_view ) );

  28.     p_scroll->add(*p_web);

  29.     p_con->add(*p_scroll);

  30.     p_web->show();
  31.     p_scroll->show();

  32.     webkit_web_view_load_uri(p_web_view, "http://www.gtk.org");

  33.     p_con->show();
  34. }
复制代码

作者: fender0107401    时间: 2016-01-19 09:05
锟斤拷锟狡达拷锟斤拷
作者: fender0107401    时间: 2016-01-19 09:08
回复 1# zhujiang73

这个是用来干什么的?看代码似乎可以用来写浏览器。


   
作者: zhujiang73    时间: 2016-01-19 13:37
fender0107401 发表于 2016-01-19 09:08
回复 1# zhujiang73

这个是用来干什么的?看代码似乎可以用来写浏览器。



      可以写浏览器,不过主要用于在自制程序里显示 HTML 窗口。   
作者: fender0107401    时间: 2016-01-19 13:53
回复 4# zhujiang73

这样的话,是不是就能使用JavaScript了,jQuery啥的是不是都能用了?

感觉好邪恶啊。


   
作者: zhujiang73    时间: 2016-01-19 20:30
本帖最后由 zhujiang73 于 2016-01-19 20:37 编辑
fender0107401 发表于 2016-01-19 13:53
回复 4# zhujiang73

这样的话,是不是就能使用JavaScript了,jQuery啥的是不是都能用了?



      支持 JavaScript 比如这个 JS 时钟在程序里是可以走的。  




      不过 webkitgtk 的文档好像不太好找。  
作者: fender0107401    时间: 2016-01-19 20:56
回复 6# zhujiang73

如果支持js,那就好玩多了。

   




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2