1

我在 Windows 上创建了一个 PyGTK LinkBut​​ton。它包含一个我想在用户浏览器中打开的 URI。

gtk.LinkButton("http://www.mysite.com")

这里的文档建议我需要为gtk.link_button_set_uri_hook. PyGTK 中是否有可以跨平台使用的内置函数,还是我需要编写自己的 Windows 特定函数?

4

2 回答 2

1

你试过什么?您不必提供 URI 挂钩。只需提供 URI,LinkButton剩下的就交给我们了。最小的例子:

from gi.repository import Gtk
w = Gtk.Window()
w.connect("destroy", Gtk.main_quit)
w.add(Gtk.LinkButton("http://google.com", "test"))
w.show_all()
Gtk.main()

这将创建一个带有单个按钮的窗口,单击该按钮可在系统默认 Web 浏览器中打开 Google。
如果由于任何原因这不起作用,您可以查看webbrowser提供跨平台支持的 Python 标准库中的模块(我不知道该模块是否也用于 gtk 内部,在这种情况下它只是不会有所作为)。

于 2012-09-07T08:20:06.593 回答
0

在 Windows 和 Linux 上都适用于我的一种方法:

def _open_link(func, data=None):
    desktop.open(data)

gtk.link_button_set_uri_hook(_open_link)
于 2015-07-01T15:48:05.083 回答