Para obter o caminho, você deve ser capaz de fazer algo assim (não testado):
def on_iconview_selection_changed(self, widget):
try:
path = widget.get_selected_items()[0]
except IndexError:
# No icon selected, so the list returned by get_selected_items() is
# empty and indexing returns an IndexError
path = None