2010-02-28 2 views
4

libgtkhtml을 사용하여 웹에서 매우 간단한 html 페이지를 표시하려고합니다. 예를 들어 주시겠습니까? 아니면 일부 문서/리소스? 나는 아무것도 발견하지 못했다. (C 선호하지만 C++도 가능). 미리 감사드립니다.libgtkhtml을 사용하여 웹 페이지 표시 C++

+1

도서관 코드 스 니펫 http://codesearch.google.com은 종종 훌륭한 자료입니다. 예 : http://www.google.com/codesearch/p?hl=ko#__i5W3J4yIk/redir/gfilerunner/29683/url_bz2/gfilerunner-0.3.5.tar.bz2|RN2gNXqi3es/gfilerunner-0.3.5/plugins /gtkhtml/gtkhtml.c&q=gtkhtml (하지만 더 좋은 예를 찾을 수도 있습니다) –

+0

gtkhtml은 CSS를 지원하지 않으므로 웹에서 대부분의 콘텐츠를 렌더링하지 않습니다. –

답변

2

당신이 온라인 콘텐츠를보고 싶은 경우에, 당신은

여기
0

가 (꽤 오래된) 튜토리얼 gtkmozembed (게코) 또는 WebkitGTK+ (웹킷)을 사용하여 더 나을 수 있습니다 : 당신도 알 필요가 http://primates.ximian.com/~rodo/programing_with_gtkhtml_tutorial/guadec.html

GtkHTML이 웹에서로드되지 않으므로 다른 라이브러리를 사용하여 HTML 페이지를 직접 가져 와서 GtkHTML에 제공해야합니다.

+0

이것은 매우 오래되었고 효과가 없습니다. 게시하기 전에 시도했습니다. –

+0

글쎄,'gnome_init()'와'gnome-config'는 더 이상 사용되지 않으므로 대신'gtk_init()'와'pkg-config'를 사용해야합니다. 그러나 GtkHTML이 어떻게 작동하는지에 대한 기초에 대해 설명합니다. 정확히 작동하지 않는 것은 무엇입니까? – ptomato

0

이와 같이 빠르게 처리해야합니다. 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); 
} 
관련 문제