В функции menu() поменяйте строчку:
C++ (Qt)
contextMenu->addAction(m->windowTitle(), this,SLOT(showWidget()))->setData(m->windowTitle());
на:
C++ (Qt)
contextMenu->addAction(m->windowTitle(), this,SLOT(showWidget()))->setData((int)m);
А то вы не указатель на QWidget в дате держите, а его заголовок.