PyGTK: открытие ссылок в браузере по умолчанию

Есть ли способ создать 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, которую я должен использовать вместо этого?

(Отказ от ответственности: я обычно более конкретен со своими вопросами, я чувствую, что это действительно просто и может даже не быть возможным, и я проверил документы. Спасибо!)

3
задан 27 June 2012 в 12:31

2 ответа

Два решения в одном! :)

Во-первых, для этой работы есть специальный виджет кнопок: 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.

0
ответ дан 27 June 2012 в 12:31

Если кто-то еще приходит сюда, чтобы узнать, как открыть URI в браузере по умолчанию, не используя Gtk.LinkButton, ответ будет использовать Gtk.show_uri_on_window() :

Gtk.show_uri_on_window(None, "http://www.google.com", Gdk.CURRENT_TIME)
0
ответ дан 27 June 2012 в 12:31

Другие вопросы по тегам:

Похожие вопросы: