我的对话框中有一个回调来监听 QListWidget 中的项目选择:
...
QListWidget* listWidget;
...
MyDialog::handleSelectionChanged(const QItemSelection& selection) {
if (selection.indexes().isEmpty()) {
std::cout << "NOTHING SELECTED" << std::endl;
// TODO: how to get the actual QListWidgetItem here!?
}
else {
bool selected = LoadedFilesListWidget->selectionModel()->isSelected(selection.indexes().first());
std::cout << "ITEM CHANGE: " << (selected ? "SELECTED" : "UNSELECTED") << std::endl;
// TODO: how to get the actual QListWidgetItem here!?
}
}
Run Code Online (Sandbox Code Playgroud)
正如您在待办事项中看到的,我不知道如何从 QItemSelection 对象中获取关联的 QListWidgetItem。我可以使用listWidget类变量访问列表小部件。任何帮助是极大的赞赏。
为了QListWidgetItem从选择中获得 a ,您可以执行以下操作:
MyDialog::handleSelectionChanged(const QItemSelection& selection)
{
[..]
QModelIndexList indexes = selection.indexes();
foreach(const QModelIndex &index, indexes) {
QListWidgetItem *item = LoadedFilesListWidget->item(index.row());
// ...
}
}
Run Code Online (Sandbox Code Playgroud)