I subclassed qlistwidget
class CustomListWidget : public QListWidget
{
Q_OBJECT
public:
explicit CustomListWidget(QWidget *parent = 0);
signals:
public slots:
public:
int currentItemIndex;
QListWidgetItem *currentItem;
protected:
void currentItemChanged ( QListWidgetItem * current, QListWidgetItem * previous );
void itemPressed ( QListWidgetItem * item );
void paintEvent(QPaintEvent *pe);
void currentRowChanged(int currentRow);
void keyPressEvent(QKeyEvent *event);
void mouseMoveEvent(QMouseEvent *event);
};

Add 3 items into one (3 strings)

wrote event handlers:
void CustomListWidget::currentItemChanged ( QListWidgetItem * current, QListWidgetItem * previous )
{
}
void CustomListWidget::currentRowChanged(int currentRow)
{
}
void CustomListWidget::itemPressed ( QListWidgetItem * item )
{
}
void CustomListWidget::paintEvent(QPaintEvent *pe)
{
}
void CustomListWidget::keyPressEvent(QKeyEvent *ev)
{
}
void CustomListWidget::mouseMoveEvent(QMouseEvent *ev)
{
}

Handlers for mouseMoveEvent, keyPressEvent and paintEvent work but for itemPressed, currentRowChanged, currentItemChanged do not. What`s the problem?