可以呀......
QTreeTest::QTreeTest(QWidget *parent, Qt::WFlags flags)
: QWidget(parent, flags)
{
ui.setupUi(this);
ui.treeWidget->setColumnCount(1);
QList<QTreeWidgetItem *> items;
for (int i = 0; i < 10; ++i)
items.append(new QCustomTreeWidgetItem((QTreeWidget*)0, QStringList(QString("item: %1").arg(i))));
ui.treeWidget->insertTopLevelItems(0, items);
connect(ui.treeWidget , SIGNAL(itemClicked ( QTreeWidgetItem * , int )) , this , SLOT(doSomething(QTreeWidgetItem * , int)));
connect(ui.treeWidget , SIGNAL(itemChanged ( QTreeWidgetItem * , int )) , this , SLOT(hasChangde(QTreeWidgetItem * , int)));
}
QTreeTest::~QTreeTest()
{
}
void QTreeTest::doSomething(QTreeWidgetItem * item, int column)
{
QString str("changed");
item->setData ( column, 0, str);
}
void QTreeTest::hasChangde(QTreeWidgetItem * item, int column)
{
((QCustomTreeWidgetItem *)item) ->useMe();
}
QCustomTreeWidgetItem::QCustomTreeWidgetItem ( QTreeWidget * parent, const QStringList & strings)
: QTreeWidgetItem(parent , strings)
{
}
QCustomTreeWidgetItem::~QCustomTreeWidgetItem()
{
}
void QCustomTreeWidgetItem::useMe()
{
QString str;
str.sprintf("%5d" , 4);
}
---------------------------------------------
useMe是能进入的并执行的