Domanda

Il mio programma ha un gtk.TreeView che mostra un gtk.ListStore. Il gtk.ListStore contiene stringhe in questo modo:

"<span size='medium'><b>"+site_title+"</b></span>"+"\n"+URL

Dove URL è (ovviamente) una stringa URL. A volte ci sono personaggi in URL che causano Pango a fallire per analizzare il markup.

C'è un modo per sfuggire URL nel suo complesso in modo che Pango sarà solo ignorarlo quindi sarà visualizzata letteralmente? Se no, come devo "fuga" caratteri speciali negli URL?

È stato utile?

Soluzione

Hai bisogno di fuggire i valori. Non sono sicuro di quale formato esatto Pango richiede, ma sembra che HTML e il funzione cgi.escape può essere tutto il necessario.

import cgi
print "<span size='medium'><b>%s</b></span>\n%s" %
      (cgi.escape(site_title), cgi.escape(URL))

Altri suggerimenti

glib.markup_escape_text può essere un approccio più canonica quando si utilizza GTK.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top