I have solved this problem, qt has a clicked signal function that emitted when a mouse button is clicked. The item the mouse was clicked on is specified by index. The signal is only emitted when the index is valid.
connect(ui->listView_Group,SIGNAL(clicked(const QModelIndex &)),this,SLOT(selectionChanged(const QModelIndex &)));
void MusicSettingsWidget::selectionChanged(const QModelIndex & index)
{
if ( index.data().toString() != "all music" ){
musicSettings4a6ConfigFile->beginGroup("GroupList");
QStringList musicList;
musicList << musicSettings4a6ConfigFile->value(index.data().toString()).toString().split(";",QString::SkipEmptyParts);
musicSettings4a6ConfigFile->endGroup();
mp3ListModel->setStringList(musicList);
ui->listView->setModel(mp3ListModel);
ui->listView->selectAll();
}else{
mp3ListInit();
}
}