PyGTK: Abrindo Links no Navegador da Web Padrão

3

Existe uma maneira de criar um Gtk.Button ("http://www.google.com")? Quando clicado, o navegador padrão do sistema será aberto usando o rótulo como URL?

O que eu posso fazer é ...

import os
button = Gtk.Button(label="http://www.google.com")
label = button.get_text()
os.system("sensible-browser " + label)

O código acima faz o que eu preciso fazer. Esta é a maneira correta de fazer isso? Ou há uma função do GTK que eu deveria estar usando em vez disso?

(Isenção de responsabilidade: geralmente sou mais específico com minhas perguntas, sinto que isso é realmente básico e talvez nem seja possível e verifiquei os documentos. Obrigado!)

    
por Dillon Gilmore 27.06.2012 / 09:50

1 resposta

4

Duas soluções em uma! :)

Primeiro, há um widget de botão especial para este trabalho: GtkLinkButton . Você cria um GtkLinkButton como um botão normal. Aqui está um programa de exemplo simples escrito com Python e PyGObject. O PyGTK deve ser bem parecido:

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()

Como alternativa, você pode chamar diretamente a função gtk_show_uri .

Se você precisar de um material de lançamento de aplicativos mais sofisticado, dê uma olhada no Gio.

    
por Dylan McCall 27.06.2012 / 10:01