我在 Windows 上创建了一个 PyGTK LinkButton。它包含一个我想在用户浏览器中打开的 URI。
gtk.LinkButton("http://www.mysite.com")
这里的文档建议我需要为gtk.link_button_set_uri_hook
. PyGTK 中是否有可以跨平台使用的内置函数,还是我需要编写自己的 Windows 特定函数?
你试过什么?您不必提供 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 内部,在这种情况下它只是不会有所作为)。
在 Windows 和 Linux 上都适用于我的一种方法:
def _open_link(func, data=None):
desktop.open(data)
gtk.link_button_set_uri_hook(_open_link)