Как выбрать все item в QTreeWidget, которые отмечены?

233
29 августа 2018, 13:20

Как выбрать все Item в QTreeWidget у которых статус Qt::Checked.

Я формирую QTreeWidget следующим образом :

void VisualInspectionData::TreeWidgetListFiles(QStringList imagePathListCopy, QString DeviceFolder, QString DeviceId) {
   if (DeviceFolder.isEmpty()) { DeviceFolder = "устройство не определено"; }
   FilesTreeWidget->setColumnCount(1);
   QTreeWidgetItem * item;
   QList<QTreeWidgetItem *> items;
   for (int i = 0; i < imagePathListCopy.size(); ++i) {
       item = new QTreeWidgetItem;
       item->setText(0,QFileInfo(imagePathListCopy.at(i)).fileName());
       item->setStatusTip(0,imagePathListCopy.at(i));
       item->setCheckState(0, Qt::Unchecked);
       item->setIcon(0,QIcon(imagePathListCopy.at(i)));
       items.append(item);
   }
   FilesTreeWidget->insertTopLevelItems(0, items);
   connect(FilesTreeWidget,SIGNAL(itemClicked(QTreeWidgetItem*,int)),this,SLOT(TreeWidgetItemClick(QTreeWidgetItem*,int)));
}
Answer 1

Делаем обход элементов первого столбца дерева и собираем в список, те, у кого стоит флажок:

QList<QTreeWidgetItem *> childs;
for (int i = 0; i < TreeWidget->topLevelItemCount(); i++) {
    QTreeWidgetItem * item = TreeWidget->topLevelItem(i);
    if (item->checkState(0) == Qt::Checked) {
        childs.append(item);
    }
}
READ ALSO
Создание потока в методе класса

Создание потока в методе класса

Не получается создать поток thread (c++11) внутри метода класса - каждый раз ошибка компиляции:

217
Segmentation fault в реализации класса Any

Segmentation fault в реализации класса Any

В процессе изучения C++ решал вот эту задачуЕсли кратко, то экземпляры нешаблонного класса Any (который и нужно реализовать) должны иметь способность...

233
Ubuntu, gcc, сборка so, не работают try..catch

Ubuntu, gcc, сборка so, не работают try..catch

Собираю библиотеку Libso (Ubuntu, gcc 5

199
Арканоид на c++

Арканоид на c++

Задали написать арканоидВозникла проблема с моментом физики поведения мяча, мяч и дощечка ( от которой он отскакивает ) представляют собой...

603