Trolltech Home | Qt-interest Home | Recent Threads | All Threads | Author | Date
All threads index page 7

Qt-interest Archive, April 2007
Changing visible tab (of QTabWidget) on Drag (Using Qt4)


Message 1 in thread

Hi

I have a QTabWidget with two tabs. I want to be able to drag & drop
some object from tab1 to tab2. For this to work I have re-implimented
dragEnterEvent() and
dragMoveEvent() from QTabWidget. But until I accept event in
dragEnterEvent() I'm not getting dragMoveEvent. There is no point in
accepting event in dragEnterEvent() otherwise. Is this a bug? I have a
similar working code (i.e. without evt->accept()) in Qt3.

A Snippet of code is attached.

-- 
 [ signature omitted ] 
GTabWidget::GTabWidget(QWidget *parent) : QTabWidget(parent){
    setAcceptDrops(true);
}

GTabWidget::~GTabWidget(){
}

void GTabWidget::dragEnterEvent(QDragEnterEvent * evt){
    int idx = tabBar()->tabAt(evt->pos());
    if(idx != -1)
        tabBar()->setCurrentIndex(idx);
    evt->accept();
}

void GTabWidget::dragMoveEvent(QDragMoveEvent *evt){
    int idx = tabBar()->tabAt(evt->pos());
    if(idx != -1)
        tabBar()->setCurrentIndex(idx);
}