Добавить текст над линией Qt

введите сюда описание изображения

Добрый день всем. Необходимо добавить текст (int) над линиями. Варианты могут быть такие: при каждой отрисовке линии выходит inputdialog и запрашивает число, затем отрисовывает. Либо сначала отрисовывает с любым значением (хоть с 0) и при нажатии на кнопку вызывается функция, которая выводит диалоговое окно, запрашивает номер 1 и 2 вершины графа и меняет значение над линией на пользовательское. У меня почему то зацикливается окно и аварийное завершение получается. Я делала так: высчитывала итератором координаты и на их основании высчитывала середину линии, ставила номер. Но номер бывало перекрывался. ТО есть на 1 линии нормально, а на другой линии уже 01 друг под другом. Потом 012 и 0123...

Код функции, которая отрисовывает линию

void Graph::paintEvent(QPaintEvent *event){
    QPainter painter(this); 
    painter.setFont(text);
    for(list<graphNode>::iterator it = elem.begin(); it != elem.end(); it++){
        for(int i = 0; i < (*it).child.size(); i++){
            painter.setPen(QPen(Qt::black, 3));
            painter.drawLine((*it).x, (*it).y, (*it).child[i]->x, (*it).child[i]->y);

        }
    }

Ответы (0 шт):