Ещё раз добрый день )
Решил реализовать механизм перетаскивания по примеру.
void MainWindow::dragEnterEvent(QDragEnterEvent *event)
{
if (event->mimeData()->hasUrls())
event->accept();
}
void MainWindow::dropEvent(QDropEvent *event)
{
if (event->mimeData()->hasUrls()) {
QPixmap pm;
QString fn = event->mimeData()->urls().at(0).toLocalFile();
if (pm.load(fn)) {
ui->label->setPixmap(pm);
setWindowTitle(trUtf8("Image Viewer - ") + fn);
}
event->accept();
}
}
Но вот проблемка - я хочу переопределить - чтоб не вся моя форма была "приёмником" перетаскивания, а только QGraphicsView. Если я прописываю
void QGraphicsView::dragEnterEvent(QDragEnterEvent *event)
{
....
}
void QGraphicsView::dropEvent(QDropEvent *event)
{
....
}
то не могу внутри этих функциях обратиться к элементам моей формы, т.к. protected данные функции.
И ещё второй кастыль. На форме 2 элемента QGraphicsView можно ли указать какой именно меня интересует их этих двух виджетов ? Или придётся подключать доп.силы, типа по eventy мыши определять сам объект и т.д. ?