Есть ли способ создать Gtk.Button ("http://www.google.com"), при нажатии на который откроется системный веб-браузер по умолчанию с использованием метки в качестве URL?
Что Я мог бы сделать это ...
import os
button = Gtk.Button(label="http://www.google.com")
label = button.get_text()
os.system("sensible-browser " + label)
Приведенный выше код делает то, что мне нужно. Это правильный способ сделать это? Или есть функция GTK, которую я должен использовать вместо этого?
(Отказ от ответственности: я обычно более конкретен со своими вопросами, я чувствую, что это действительно просто и может даже не быть возможным, и я проверил документы. Спасибо!)
Два решения в одном! :)
Во-первых, для этой работы есть специальный виджет кнопок: GtkLinkButton . Вы создаете 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.
Если кто-то еще приходит сюда, чтобы узнать, как открыть URI в браузере по умолчанию, не используя Gtk.LinkButton
, ответ будет использовать Gtk.show_uri_on_window()
:
Gtk.show_uri_on_window(None, "http://www.google.com", Gdk.CURRENT_TIME)