Custom QListWidget

From Qt Wiki
Revision as of 15:32, 3 March 2015 by AutoSpider (talk | contribs) (Add "cleanup" tag)
Jump to navigation Jump to search
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

Custom QListWidget

Small snippet showing how to override dropEvent method on a custom QListWidget.

  1. First create a Qt Gui Application using Qt Creator and add a QListWidget to it.
  2. Create the below given MyListWidget.h and MyListWidget.cpp files.
  3. Right click on the QListWidget created in the Form designer and Promote it to MyListWidget
  4. 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);
}