Existe-t-il un moyen de créer un Gtk.Button ("http://www.google.com"), lorsque vous cliquerez sur le navigateur Web par défaut du système en utilisant l'étiquette comme URL?
Ce que je pouvais faire, c'est ...
import os
button = Gtk.Button(label="http://www.google.com")
label = button.get_text()
os.system("sensible-browser " + label)
Le code ci-dessus fait ce dont j'ai besoin. Est-ce la bonne façon de procéder? Ou existe-t-il une fonction GTK que je devrais utiliser à la place?
(Avertissement: je suis généralement plus précis avec mes questions, j'ai l'impression que c'est vraiment basique et peut-être même pas possible et j'ai vérifié les documents. Merci!)
Deux solutions en une! :)
Tout d'abord, il existe un widget de bouton spécial uniquement pour ce travail: GtkLinkButton . Vous créez un GtkLinkButton comme un bouton normal. Voici un exemple de programme simple écrit avec Python et PyGObject. PyGTK devrait être assez similaire:
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()
Comme alternative, vous pouvez appeler directement la fonction gtk_show_uri .
Si vous avez besoin de lancements d'applications plus sophistiqués, jetez un œil à Gio.
Si quelqu'un d'autre vient ici pour savoir comment ouvrir un URI dans le navigateur par défaut sans utiliser un Gtk.LinkButton
, La réponse utilise Gtk.show_uri_on_window()
:
Gtk.show_uri_on_window(None, "http://www.google.com", Gdk.CURRENT_TIME)