Qt QListwidget为何信号没用(提供测试代码)

Qt QListwidget为什么信号没用(提供测试代码)
class CMainStartUI : public QWidget
{
Q_OBJECT
public:
CMainStartUI(QWidget *parent = 0);
~CMainStartUI(void);

private slots:
void slotCurrentRowChanged(int);

private:
Ui::MainStartUI ui;
}

//CPP
CMainStartUI::CMainStartUI(QWidget *parent /* = 0 */) : QWidget(parent)
{
ui.setupUi(this);
       connect(ui.listWidget,SIGNAL(currentRowChanged(int)),this,SLOT(slotCurrentRowChanged(int))));
}

void CMainStartUI::slotCurrentRowChanged(int currentRow)
{
switch (currentRow)
{
case TERMINAL_STATE:
break;
case REGULAR_PROGRAMMING:
break;
case TIMING_ACQUISITION:
break;
case LINKAGE_ALARM:
break;
case CALL_BROADCAST:
break;
case CONTROL_MANAGEMENT:
break;
case MUSIC_MANAGEMENT:
break;
case PERMISSIONS_MANAGEMENT:
break;
case SYSTEM_SET:
break;
case NETWORK_SET:
break;
default:
break;
}
}

用的是VS2012 + Qt5.0.2   我在Qt设计师里面就建立了一个Qlistwidget  添加了三个Item   然后就切换 但是信号没效果 
又实验了itemDoubleClicked信号 也没效果 不知道为什么  能有人帮我解答吗?

------解决方案--------------------
你确定你能编译通过?

头文件里的
      private:
     Ui::MainStartUI ui;
这里的ui应该是指针——Ui::MainStartUI *ui;

源文件里——
CMainStartUI::CMainStartUI(QWidget *parent /* = 0 */) : QWidget(parent){ }
应该改成这样——
CMainStartUI::CMainStartUI(QWidget *parent /* = 0 */) : QWidget(parent), ui(new Ui::MainStartUI) { }
应该初始化头文件里的私有的Ui::MainStartUI *ui;