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 &)));
connect(ui->listView_Group,SIGNAL(clicked(const QModelIndex &)),this,SLOT(selectionChanged(const QModelIndex &)));
To copy to clipboard, switch view to plain text mode
void MusicSettingsWidget
::selectionChanged(const QModelIndex & index
) {
if ( index.data().toString() != "all music" ){
musicSettings4a6ConfigFile->beginGroup("GroupList");
musicList << musicSettings4a6ConfigFile
->value
(index.
data().
toString()).
toString().
split(";",
QString::SkipEmptyParts);
musicSettings4a6ConfigFile->endGroup();
mp3ListModel->setStringList(musicList);
ui->listView->setModel(mp3ListModel);
ui->listView->selectAll();
}else{
mp3ListInit();
}
}
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();
}
}
To copy to clipboard, switch view to plain text mode
Bookmarks