Comment puis-je appeler l'authentification Ubuntu One python à partir d'un bouton en utilisant Glade?
ce que je dois faire est d'appeler un script python tel que: $ python u1file.py login
Ajout de la prise en charge d'Ubuntu One Files à votre application
Gtk est une boîte à outils d'interface utilisateur conçue pour être un cadre piloté par les événements. La meilleure approche serait donc d'attendre qu'un événement se produise pour exécuter votre code python.
Sur Glade, vous pouvez ajouter des widgets à un GtkWindow (qui est également un widget), et les widgets émettent ce qu'on appelle des signaux. Les signaux sont des événements qui indiquent que quelque chose s'est produit. Cette action peut être l'utilisateur cliqué sur un bouton, tapé du texte, redimensionné la fenêtre, etc.
Un exemple très simple peut être trouvé ici [ 1 ]
Et voici une partie que j'ai extraite
Dans la section des propriétés, dirigez-vous vers l'onglet des signaux après avoir précédemment sélectionné un widget sur l'éditeur, par exemple un bouton.
Comme vous pouvez le voir dans l'image ci-dessus, chaque signal a un nom et peut être lié à un "gestionnaire". Dans votre code, vous devez créer une fonction avec le même nom que vous avez choisi comme poignée, dans ce cas "on_window_destroy"
Ensuite, votre code devrait ressembler à ceci:
class TutorialApp(object):
def __init__(self):
builder = gtk.Builder()
builder.add_from_file("tutorial.xml")
# Here we do the binding
builder.connect_signals({ "on_window_destroy" : my_custom_handler })
self.window = builder.get_object("window")
self.window.show()
def my_custom_handler(self, widget):
# Excecute whatever python code you want here :D
if __== "__main__":
app = TutorialApp()
gtk.main()
Source
http://www.micahcarrick.com/gtk-glade-tutorial-part-1.html [ 1 ]
Importez le script comme vous le feriez avec n'importe quel autre module/package en Python.
import u1file
ui1file.login()
Voir la réponse de Hernantz si vous ne savez pas comment vous connecter à un bouton.
Est-ce que cela ferait ce que vous voulez? C'est essentiellement l'équivalent de taper python scriptname.py
dans un terminal.
import os
os.system("python sriptname.py")