Я собираюсь нарисовать QLine в QGraphicsScene и отобразить его через QGraphicsView.
Линия рисуется во время создания главного окна, но удаляется после выхода из конструктора MainWindow вскоре после рисования и до достижения любого слота.(Я заметил это поведение во время отладки.)
Наиболее важные строки кода:
MainWindow::MainWindow(QWidget* parent):
ui{new Ui::MainWindow},
scene{new QGraphicsScene(this)},
view{new ClickableMap(scene)}, / ... */
{
ui->setupUi(this);
ui->view->setScene(scene);
for (/* ... */ ) {
QGraphicsItem* edgeDrawing= scene->addLine(x1, y1, x2, y2);
edgeDrawing->setZValue(1);
}
ui->view->show();
}
Почему именно чертеж скрыт?Рисовать с помощью концепции сигнальных слотов (щелчок мышью на QGraphicsView) не составит труда, но я хотел бы отобразить чертеж при запуске программы.