On 04/18/2012 10:07 AM, Jason H wrote: > Please, any help? > > I'm stuck. >
How about this: const QPoint & QDropEvent::pos () const Returns the position where the drop was made. > -------------------------------------------------------------------------------- > *From:* Jason H <scorp...@yahoo.com> > *To:* André Somers <an...@familiesomers.nl>; "interest@qt-project.org" > <interest@qt-project.org> > *Sent:* Tuesday, April 17, 2012 11:09 AM > *Subject:* Re: [Interest] Getting QTreeView item click offset for DnD > > Yes. However nothing gives me the click coordinates. > > I am dragging an item to a subclassed QLabel. When the drop occurs, the > top-left > of the item is placed at the mouse cursor. This is wrong. The item should be > placed at wherever Qt drew it last, which is offset by the mouse coords in the > item. > > > -------------------------------------------------------------------------------- > *From:* André Somers <an...@familiesomers.nl> > *To:* "interest@qt-project.org" <interest@qt-project.org> > *Sent:* Tuesday, April 17, 2012 11:00 AM > *Subject:* Re: [Interest] Getting QTreeView item click offset for DnD > > Op 17-4-2012 16:54, Jason H schreef: >> Well I am confused about how the view works. >> I'm using QStandardItems, so whatever Qt does with those... I can't find >> documentation anywhere... >> > The items in the model do not become widgets. That would be very inefficient. > Instead, they are rendered in the view using a delegate that has been set on > your view. By default, that is a QStyledItemDelegate. > > Anyway, for D&D purposes, an item is just a package of data. At the moment you > have the model index, you have access to the data of the item. > > Perhaps the question should be: why are you reimplementing the mousePressEvent > in this context at all? Did you study the "Using Drag and Drop with Item > Views" > topic from the Model/View Programming documentation page? > > André > > >> >> -------------------------------------------------------------------------------- >> *From:* André Somers <an...@familiesomers.nl> <mailto:an...@familiesomers.nl> >> *To:* interest@qt-project.org <mailto:interest@qt-project.org> >> *Sent:* Tuesday, April 17, 2012 10:40 AM >> *Subject:* Re: [Interest] Getting QTreeView item click offset for DnD >> >> Op 17-4-2012 16:35, Jason H schreef: >>> I need to repeat this. I'm still lost. >>> here is my code (child is always NULL): >>> voidDataPointTreeView::mousePressEvent(QMouseEvent*event) >>> { >>> QTreeView::mousePressEvent(event); >>> QModelIndex mi = indexAt(event->pos()); >>> QWidget *child = indexWidget(mi); >>> //QWidget *child = static_cast<QWidget*>(childAt(event->pos())); >>> if (!child) >>> return; >>> >>> m_dragOffset = event->pos() - child->pos(); >>> } >>> >> Are you even using widgets for your items? I mean: do you call setIndexWidget >> anywhere? If not, perhaps you should check what indexWidget() actually >> returns? > > > _______________________________________________ > Interest mailing list > Interest@qt-project.org <mailto:Interest@qt-project.org> > http://lists.qt-project.org/mailman/listinfo/interest > > > > _______________________________________________ > Interest mailing list > Interest@qt-project.org <mailto:Interest@qt-project.org> > http://lists.qt-project.org/mailman/listinfo/interest > > _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest