我使用下面的代码创建了一个也是 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)));
你必须抓住信号itemChanged ( QTreeWidgetItem * item, int column )
来自(哪里QTreeWidget http://qt-project.org/doc/qt-4.8/qtreewidget.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)