Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用libgtkhtmlc++;_C++_Html_C_Gtk - Fatal编程技术网

C++ 使用libgtkhtmlc++;

C++ 使用libgtkhtmlc++;,c++,html,c,gtk,C++,Html,C,Gtk,我想使用libgtkhtml从web显示一个非常简单的html页面。你能举个例子吗?或者一些文档/资源?我什么也没找到。(C优选,但C++也可接受)。提前感谢。如果您想查看在线内容,最好使用(Gecko)或(Webkit)以下是一个(相当老的)教程: 您还需要知道GtkHTML不是从web加载的,因此您必须使用另一个库自己获取HTML页面并将其提供给GtkHTML。为什么不使用tarball来适应分布式?类似的方法应该可以很快完成。例如,只需将info info小部件放入GTKScrolledw

我想使用libgtkhtml从web显示一个非常简单的html页面。你能举个例子吗?或者一些文档/资源?我什么也没找到。(C优选,但C++也可接受)。提前感谢。

如果您想查看在线内容,最好使用(Gecko)或(Webkit)

以下是一个(相当老的)教程:


您还需要知道GtkHTML不是从web加载的,因此您必须使用另一个库自己获取HTML页面并将其提供给GtkHTML。

为什么不使用tarball来适应分布式?

类似的方法应该可以很快完成。例如,只需将info info小部件放入GTKScrolledwindowo

#include <gtkhtml/gtkhtml.h>
#include <gtkhtml/gtkhtml-stream.h>

#define WRITE_HTML(html, args...) \
    { gchar *ph; \
    ph=g_markup_printf_escaped(html, ##args); \
    gtk_html_write(GTK_HTML(info), s, ph, strlen(ph)); \
    g_free(ph); }

{
GtkWidget *info;
GtkHTMLStream *s;

info=gtk_html_new();
gtk_html_set_editable(GTK_HTML(info), FALSE);
gtk_html_allow_selection(GTK_HTML(info), TRUE);

/* Optional, connect signals for link clicks, url load requests, etc */
#if 0
g_signal_connect(G_OBJECT(info), "link_clicked", G_CALLBACK(info_url_clicked_cb), NULL);
g_signal_connect(G_OBJECT(info), "url_requested", G_CALLBACK(info_url_requested_cb), NULL);
g_signal_connect(G_OBJECT(info), "title_changed", G_CALLBACK(info_title_cb), NULL);
#endif

s=gtk_html_begin(GTK_HTML(info));

WRITE_HTML("<html><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">" \
    "<head><title>Testing</title></head><body><h1>GtkHTML</h3><p>Example</p>");
WRITE_HTML("<p>Postal Code: %s</p>", some_random_data);
WRITE_HTML("</body></html>");

gtk_html_end(GTK_HTML(info), s, GTK_HTML_STREAM_OK);
}
#包括
#包括
#定义写入HTML(HTML、参数…)\
{gchar*ph\
ph=g_markup_printf_转义(html,##args)\
gtk_html_write(gtk_html(info)、s、ph、strlen(ph))\
g_游离(ph);}
{
GtkWidget*信息;
GtkHTMLStream*s;
info=gtk_html_new();
gtk_html_set_可编辑(gtk_html(info),FALSE);
gtk_html_允许_选择(gtk_html(信息),真);
/*可选,用于链接单击、url加载请求等的连接信号*/
#如果0
g_信号连接(g_对象(信息),“链接已点击”,g_回调(信息url已点击),空);
g_信号连接(g_对象(信息),“请求的url”,g_回调(请求的信息url),NULL);
g_信号连接(g_对象(信息),“标题更改”,g_回调(信息标题cb),NULL);
#恩迪夫
s=gtk_html_开始(gtk_html(信息));
写下HTML(“”)\
“TestingGtkHTML示例

”; 编写HTML(“邮政编码:%s

”,一些随机数据); 写下HTML(“”); gtk_html_end(gtk_html(info),s,gtk_html_STREAM_OK); }
库的代码片段通常是一个很好的资源。例如:(但也许你会找到更好的例子)你应该知道gtkhtml不支持css,因此它不会呈现web上的大部分内容。这是非常旧的,不起作用,我在这里发布之前就试过了。嗯,
gnome_init()
gnome config
都不推荐使用,你应该使用
gtk_init()
pkg config
,但本教程对GtkHTML工作原理的基本解释仍然适用。到底是什么不起作用?