Russian Qt Forum

Qt => Вопросы новичков => Тема начата: barm12345 от Март 21, 2021, 15:10



Название: multicheck in treewidget
Отправлено: barm12345 от Март 21, 2021, 15:10
Добрый день!
Понимаю, что тема уже много раз обсуждалась, просьба объяснить на простом примере:
treewidget с checkbox, при нажатии на checkbox родителя, отмечаются все checkbox чайлда:

void QMyTree::init()
{
     QTreeWidgetItem *pRootItem = new QTreeWidgetItem(treeWidget);
    pRootItem->setText(0,tr("Root"));   
    pRootItem->setExpanded(true);
    for(int i = 0;i<5;i++)
    {
         QTreeWidgetItem *pItem = new QTreeWidgetItem(pRootItem);
        QString textName = "Item" + QString::number(i);       
        pItem->setText(0,textName);
        pItem->setCheckState(0,Qt::Unchecked);   
        pItem->setExpanded(true);   
         
        for(int j = 0;j<4;j++)   
        {
           QTreeWidgetItem *pChildItem = new QTreeWidgetItem(pItem);
            QString ChildName = "ChildItem" + QString::number(j);       
            pChildItem->setText(0,ChildName);
           pChildItem->setCheckState(0,Qt::Unchecked);      
           pChildItem->setExpanded(true);   
        }
    }
}