QTreeWidget控件设置某列可编辑

                  QTreeWidgetItem 类里面setFlags()函数可以设置整行Item可编辑,无法设置单独某列。

                   

                   想设置单独某列可编辑,可以利用QTreeWidget提供的SIGNAL itemDoubleClicked() 加上QTreeWidegetItem的setFlags()达到要求



connect(fileFilter,SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)),this,SLOT(EditFileFilter(QTreeWidgetItem*,int)));


                   

void H2000_GUI::EditFileFilter(QTreeWidgetItem* item,int column)
{
	if (column==1)    //哪一列需要可编辑,这里是第二列
	{
		item->setFlags(item->flags()|Qt::ItemIsEditable);
	}
	else        //当双击的不是第二列的时候将flags中的可编辑属性去掉
	{         
		item->setFlags(item->flags()&~(Qt::ItemIsEditable));
	}
}

             这样当双击的不是你想要编辑的列的时候item的flags属性就没有可编辑


                

你可能感兴趣的:(QTreeWidget控件设置某列可编辑)