我使用下面的代码创建了一个也是 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)));