当前位置: 代码迷 >> QT开发 >> qt TreeWidget 获取点击checkbox值,获取对应的item属性值,该怎么处理
  详细解决方案

qt TreeWidget 获取点击checkbox值,获取对应的item属性值,该怎么处理

热度:268   发布时间:2016-04-25 03:10:32.0
qt TreeWidget 获取点击checkbox值,获取对应的item属性值

打个比方我点击 Band1 item上的checkbox,就获取这个Band1 值,无论当时的checkbox是什么状态,这个该如何做呢,
void MainWindow::on_treeWidget_itemChanged(QTreeWidgetItem *item, int column)
{
   QTreeWidgetItem *parent = item->parent();
   item->child(column)->text(column);
   if (parent == NULL){
    return;
   }
   int selectedCount = 0;
   int childCount = parent->childCount();
   for (int i = 0; i < childCount; i++){
    QTreeWidgetItem *childItem = parent->child(i);
    if (childItem->checkState(0) == Qt::Checked){
     QMessageBox::information(this,tr("Information"),tr("Check"));

     //想在这个地方获取,选中/不选中的上的item 对应的名字,比如?Band1 

    }else
    {
     QMessageBox::information(this,tr("Information"),tr("UNCheck"));

  //想在这个地方获取,选中/不选中的上的item 对应的名字,比如Band1     }

   }
}

我这样写的,这个msg弹出来的,都是好用的

但是我如何在这个函数当中获取,点击的checked,获取对应的item上的名字呢

------解决思路----------------------

QTreewidgetItem有成员函数data():QVariant QTreeWidgetItem::data(int column, int role) const [virtual]
QTreeWidgetItem * QTreeWidget::itemAt(int x, int y) const
QTreeWidgetItem * QTreeWidget::currentItem() const

------解决思路----------------------
   if (childItem->checkState(0) == Qt::Checked){
      QString name = childItem->text(0);
}
  相关解决方案