Custom QListWidget
Jump to navigation
Jump to search
Custom QListWidget
Small snippet showing how to override dropEvent method on a custom QListWidget.
- First create a Qt Gui Application using Qt Creator and add a QListWidget to it.
- Create the below given MyListWidget.h and MyListWidget.cpp files.
- Right click on the QListWidget created in the Form designer and Promote it to MyListWidget
- When you run the application, if you drop something on MyListWidget, you will first see the debug msg (dropEvent of MyListWidget), and then it calls the dropEvent of the QListWidget …
The header file
#ifndef MYLISTWIDGET_H
#define MYLISTWIDGET_H
#include <QListWidget>
class MyListWidget : public QListWidget
{
Q_OBJECT
public:
MyListWidget(QWidget *parent = 0);
protected:
void dropEvent(QDropEvent *event);
};
#endif // MYLISTWIDGET_H
The cpp file
#include "mylistwidget.h"
#include <QDebug>
MyListWidget::MyListWidget(QWidget *parent)
: QListWidget(parent)
{
setDragDropMode(QAbstractItemView::DragDrop);
setDefaultDropAction(Qt::MoveAction);
setAlternatingRowColors(true);
}
void MyListWidget::dropEvent(QDropEvent *event)
{
qDebug() << "This is my custom dropEvent() method!";
QListWidget::dropEvent(event);
}