2012-10-25 11 views
6

Con PyGTK 2 potrei allegare una funzione da eseguire quando il contenuto degli appunti è stato modificato. Navigando nella documentazione dei collegamenti Python di GTK3 non riesco a trovare alcuna descrizione di tale funzionalità.Appunti python e gtk3 onChange

Qualcuno può dirmi la "migliore pratica" per questo?

EDIT

Con GTK2 le seguenti opere:

import gtk 

def test(*args): 
    print "Clipboard changed" 

clip = gtk.Clipboard() 
clip.connect('owner-change',test) 

In sede di adozione a GTK3

from gi.repository import Gtk, Gdk 

def test(*args): 
    print "Clipboard changed" 

clip = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) 
clip.Connect('owner-change',test) 

Python accetta la connessione al segnale, ma la mia funzione non viene mai eseguito.

+0

Che segnale c'era in PyGTK? Non lo so. – ptomato

+0

Potrei usare il segnale "modifica proprietario". clipboard.connect accetta il segnale anche in GTK3, ma la funzione che allego non viene mai chiamata. – user1773242

+0

La documentazione di quel segnale indica che viene attivata quando il proprietario della selezione degli Appunti viene modificato. Non quando i contenuti sono cambiati. Se hai intenzione di fare affidamento su comportamenti non documentati, allora devi aspettarti che si rompa. – ptomato

risposta

2
from gi.repository import Gtk, Gdk 

def test(*args): 
    print "Clipboard changed" 

clip = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) 
clip.connect('owner-change',test) 
Gtk.main() 

funziona per me.

+0

Strano! Funziona ora, devo aver avuto una specie di strana installazione nel mio ambiente. Tuttavia, il segnale di "cambio proprietario" è inteso per questo? – user1773242