Я создал флажок, который также содержит QTreeWidgetItem, используя следующий код.
//Populate list
QTreeWidgetItem *program = createCheckedTreeItem(QString::fromStdString(itr->first), true);
treePrograms->addTopLevelItem(program);
QTreeWidgetItem* ConfigDialog::createCheckedTreeItem(QString name,bool checkBoxState)
{
QTreeWidgetItem *item = new QTreeWidgetItem(QStringList(name));
item->setFlags(item->flags()|Qt::ItemIsUserCheckable);
if (checkBoxState)
{
item->setCheckState(0,Qt::Unchecked);
}
else
{
item->setCheckState(0,Qt::Checked);
}
return item;
}
Мне нужен способ подключения сигнала и слота, когда изменяется состояние этого флажка. В настоящее время я реализовал это ниже, но, к сожалению, не работает. Может кто-нибудь объяснить, что я делаю неправильно, и что мне нужно сделать, чтобы связать его?
connect(program, SIGNAL(toggled(bool)), this, SLOT(programChecked(bool)));