Я пытаюсь создать Dicom GUI Toolkit, где пользователь выбирает некоторые изображения dicom, и будет показано изображение первого изображения dicom из выбранных. Затем пользователь нажимает на изображение, и изображение появляется с большим окном изображения. На этом увеличенном изображении изображение будет состоять из красного прямоугольника, который содержит необходимые области изображения Dicom, в то время как ненужная область находится за пределами прямоугольника. Затем пользователь должен иметь возможность изменить прямоугольник мышью.Интерактивное редактирование существующего прямоугольника на QPixmap?
До сих пор я смог показать большое изображение dicom с прямоугольником в нем, используя QLabel
, который по нижеследующим фрагментам кода.
void MainWindow::showBigImage()
{
QPixmap bigimage;
bigimage.load(imageName.c_str());
QPainter painter(&bigimage);
painter.setPen(Qt::red);
QRectF rect(xmin, ymin, xmax, ymax);
painter.drawRect(rect);
QSize bigsize = ui->bigImageLabel->size();
ui->bigImageLabel->setPixmap(bigimage.scaled(bigsize, Qt::IgnoreAspectRatio, Qt::FastTransformation));
ui->bigImageLabel->show();
}
и большое изображение на приложении выглядит следующим образом:
Можете ли вы предложить мне, как я должен теперь сделать прямоугольник редактируемого пользователем, в котором пользователь может установить существующий красный прямоугольник согласно его или ее желанию?
Я также попробовал нечто подобное с помощью QGraphicsView
и QGraphicsScene
со следующим кодом:
void MainWindow::showBigImage()
{
QGraphicsScene* scene = new QGraphicsScene;
scene->addPixmap(bigimage);
ui->bigImageView->setScene(scene);
ui->bigImageView->show();
}
И этот код дает мне следующий вид:
Как вы можете видеть, я мог не соответствует изображению до границ QGraphicsView
, не могли бы вы предложить мне, как это сделать? Не могли бы вы также предложить мне, как добавить красный прямоугольник (который я показал в примере с помощью QLabel
) на QGraphicsView
без добавления прямоугольника на QPixmap
?
Для установки окна вы можете увидеть: http://stackoverflow.com/questions/9654222/how-to-fit-in-view-the-pixmaps-in-qgraphicsview-qgraphicsscene-without-changing – user2244507
Я действительно видел этот вопрос раньше, я просто не мог понять, как переопределить resizeEvent.Я должен упомянуть, что я новичок в Qt и миллион миль от эффективности на C++. –