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