Я хотел бы хранить экземпляры класса в графике графического инструмента , по одному объекту на узел (или «вершина», как их называет графический инструмент).Я пытаюсь использовать свойство вершины, поскольку это, кажется, способ сделать это .
class MyClass(object):
def __init__(self, title):
self.title = title
graph = Graph()
my_obj = MyClass('some title')
vertex = graph.add_vertex()
vprop = graph.new_vertex_property('object')
vprop[vertex] = my_obj
Теперь я хотел бы снова прочитать объекты моего класса, например перебрать все узлы / вершины и распечатать их заголовки:
for vertex in self.graph.vertices():
# TODO: how to access titles ? this just prints
# ""
print repr(vertex) + '\n'
Кроме того, как мне получить обратно из графа объект класса с определенным заголовком? Один из способов - создать фильтр вершин с использованием graph.set_edge_filter (...)
и применить его - что кажется довольно дорогостоящей операцией, учитывая, что все, что я хочу, - это вернуть один единственный объект. Я действительно не хочу поддерживать свое собственное отображение заголовка объекта / индекса вершины как IMO, это одна из задач графа.
Я упустил здесь что-то фундаментальное?