有没有办法创建一个 Gtk.Button(“http://www.google.com”),当单击时将使用标签作为 URL 打开系统默认的 Web 浏览器?
我能做的是...
import os
button = Gtk.Button(label="http://www.google.com")
label = button.get_text()
os.system("sensible-browser " + label)
上面的代码满足了我的要求。这是正确的做法吗?或者我应该使用 GTK 函数吗?
(免责声明:我的问题通常会更具体,我觉得这真的很基础,甚至可能是不可能的,我已经检查过文档了。谢谢!)
答案1
一举两得!:)
首先,有一个专门用于这项工作的特殊按钮小部件:按钮。您可以像创建普通按钮一样创建 GtkLinkButton。这是一个用 Python 和 PyGObject 编写的简单示例程序。PyGTK 应该看起来非常相似:
from gi.repository import Gtk
window = Gtk.Window()
button = Gtk.LinkButton("http://www.google.com", label="google.com")
window.add(button)
window.show_all()
Gtk.main()
另外,您可以直接调用函数gtk_show_uri。
如果您需要更复杂的应用程序启动功能,请查看 Gio。
答案2
如果其他人来这里是为了了解如何在不使用的情况下在默认浏览器中打开 URI Gtk.LinkButton
,那么答案是使用Gtk.show_uri_on_window()
:
Gtk.show_uri_on_window(None, "http://www.google.com", Gdk.CURRENT_TIME)