Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Макс от Март 02, 2013, 13:39



Название: Визуализация графов
Отправлено: Макс от Март 02, 2013, 13:39
Товарищи нужен совет, как можно визуализировать большой заранее не известный граф, да так, что бы занимал весь экран и в случае необходимоти можно было приблизить. На какие классы и методы стоит обратить внимание пока только scale нашел...


Название: Re: Визуализация графов
Отправлено: Old от Март 02, 2013, 13:48
Товарищи нужен совет, как можно визуализировать большой заранее не известный граф, да так, что бы занимал весь экран и в случае необходимоти можно было приблизить. На какие классы и методы стоит обратить внимание пока только scale нашел...
QGraphicsScene/QGraphicsView + QGraphicsItem.


Название: Re: Визуализация графов
Отправлено: Макс от Март 02, 2013, 14:26
Товарищи нужен совет, как можно визуализировать большой заранее не известный граф, да так, что бы занимал весь экран и в случае необходимоти можно было приблизить. На какие классы и методы стоит обратить внимание пока только scale нашел...
QGraphicsScene/QGraphicsView + QGraphicsItem.


спасибо


Название: Re: Визуализация графов
Отправлено: PulSar.CE3194694 от Март 09, 2013, 17:08
Можно и обычным Qwidget пользоваться с paintEvent'ом. Достаточно рассчитать масштабные коэффициенты по осям, умножить на них координаты и граф впишется сам собой. А скалировать, сдвигать, вертеть через Qpainter.

Код:
double Kx = (ширина области рисования)/(graph.xMax()-graph.xMin());
double Ky = (высота области рисования)/(graph.yMax()-graph.yMin());