Отображение веб-страницы с использованием libgtkhtml c c ++ - PullRequest
4 голосов
/ 28 февраля 2010

Я хочу отобразить очень простую HTML-страницу из Интернета, используя libgtkhtml. Можете ли вы привести пример, пожалуйста? Или какая-то документация / ресурсы? Я ничего не нашел. (C предпочтительнее, но C ++ также приемлемо). Заранее спасибо.

Ответы [ 4 ]

2 голосов
/ 28 февраля 2010

Если вы хотите просматривать онлайн-контент, вам лучше использовать gtkmozembed (Gecko) или WebkitGTK + (Webkit)

0 голосов
/ 04 марта 2010

Что-то вроде этого должно сделать это быстро. Просто поместите виджет info info в GtkScrolledWindow, например.

#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);
}
0 голосов
/ 01 марта 2010

Почему бы вам не адаптировать тестовые программы , распространяемые вместе с tarball?

0 голосов
/ 01 марта 2010

Вот (довольно старый) учебник: http://primates.ximian.com/~rodo/programing_with_gtkhtml_tutorial/guadec.html

Вам также нужно знать, что GtkHTML не загружается из Интернета, поэтому вам нужно использовать другую библиотеку, чтобы самостоятельно извлечь страницу HTML и передать ее в GtkHTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...