在Windows上,关于对话框中的GTK +打开链接失败

时间:2014-10-09 14:14:42

标签: c windows user-interface dialog gtk

我正在编写一个C / GTK +应用程序,这应该针对Linux和Windows。

当我在about对话框中打开网站链接时遇到了一个问题:预期的行为是浏览器打开并显示相关网页(这在Linux上运行正常),但是点击它后立即弹出显示“显示链接是不可能的,因为没有安装处理它的应用程序”(粗略翻译,我不会用英语,但用我的母语)。

我该如何解决这个问题?我想只为Windows设置链接的特定处理程序,但我不知道如何在about对话框中获取“链接”对象。我在文档中找到的唯一内容是gtk_about_dialog_get_website_label,但它返回一个字符串,所以我认为处理程序不起作用。

1 个答案:

答案 0 :(得分:2)

GtkAboutDialog对象中单击网站标签时,默认行为是调用gtk_show_uri。后者使用GIO来处理uri本身,它只处理本地文件。如果你想处理网址(http [s]://,或ftp [s]://等),你必须安装gvfs。
另一种方法是将回调连接到激活uri时发出的 activate-link 信号。然后,您可以处理该事件,并根据您的应用程序运行的系统运行一些魔法。

我的评论中的链接支持我的声明(并且通常是有用的参考资料):