Gtk:Webkit WebView C++(无法加载 url + 尴尬的终端输出)

Gtk:Webkit WebView C++(无法加载 url + 尴尬的终端输出)

我正在尝试在我的 c++ 应用程序中包含一个 webkit webview。我的项目使用 Glade ui,并且我将 webview 嵌入到滚动窗口中。

我完全不明白的是这个尴尬的输出+url未加载:

zubozrout@frozenlinux:~/Downloads/Devel/ssm4/usr/bin$ g++ ssm.cpp -o steamskinmanager `pkg-config --cflags --libs gtk+-3.0` `pkg-config --cflags --libs webkitgtk-3.0` && ./steamskinmanager

No bp log location saved, using default.
[000:000] Cpu: 6.58.9, x4, 2401Mhz, 9447MB
[000:000] Computer model: Not available
[000:000] Browser XEmbed support present: 1
[000:000] Browser toolkit is Gtk2.
[000:000] Using Gtk2 toolkit
No bp log location saved, using default.
[000:000] Cpu: 6.58.9, x4, 2401Mhz, 9447MB
[000:000] Computer model: Not available
[000:013] Warning(optionsfile.cc:47): Load: Could not open file, err=2
[000:013] No bp log location saved, using default.
[000:014] Cpu: 6.58.9, x4, 2401Mhz, 9447MB
[000:014] Computer model: Not available
[000:014] Browser XEmbed support present: 1
[000:014] Browser toolkit is Gtk2.
[000:014] Using Gtk2 toolkit
[000:013] Warning(optionsfile.cc:47): Load: Could not open file, err=2
[000:013] No bp log location saved, using default.
[000:014] Cpu: 6.58.9, x4, 2401Mhz, 9447MB
[000:014] Computer model: Not available

这是我的代码的 webview 部分:

builder = gtk_builder_new ();
gtk_builder_add_from_file(builder, "ui.glade", NULL);
window = GTK_WIDGET(gtk_builder_get_object (builder, "window"));
gtk_builder_connect_signals(builder, NULL);

[...]

GObject* webview_help;
webview_help = gtk_builder_get_object(builder, "webview_help");
WebKitWebView *webview = WEBKIT_WEB_VIEW(webkit_web_view_new());

gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(webview_help), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
g_object_ref_sink(G_OBJECT(webview));
gtk_container_add(GTK_CONTAINER(webview_help), GTK_WIDGET(webview));
webkit_web_view_load_uri(webview, "http://www.google.com");
g_object_unref(webview);

不幸的是,没有太多教程描述 gtk webview 的使用。为了获得灵感,我使用了(我可能错过了什么)。遗憾的是,我找不到问题的解决方案。

非常感谢您的帮助。

答案1

哦,抱歉 - 虽然很简单,但我还是无法找出导致问题的原因。答案是不要忘记显示 webview 小部件。

gtk_widget_show(GTK_WIDGET(webview));

但我仍然想要摆脱尴尬的终端输出。

相关内容