将textEdit添加为行的子项

时间:2011-07-18 15:42:00

标签: qt qt4

我想在chciking treewidget的每一行时将TextEdit作为子项添加到QTreeWidget。 有人可以通过提供线索帮助。

1 个答案:

答案 0 :(得分:2)

您可以使用setItemWidget()函数将您喜欢的任何小部件设置为树视图中的给定位置。示例可能如下所示:

#include <QApplication>
#include <QTreeWidget>
#include <QLineEdit>

int main(int argc, char** argv)
{       
    QApplication a(argc, argv);

    QTreeWidget *tw = new QTreeWidget;

    // Add some sample items to the QTreeWidget
    for(int i=0; i<10; i++)
    {
        QStringList strings;
        strings << QString("Item %1").arg(i+1);
        QTreeWidgetItem *parent = new QTreeWidgetItem(strings);
        tw->addTopLevelItem(parent);


        // Add the child TreeWidgetItem one step down in the tree
        QTreeWidgetItem *child = new QTreeWidgetItem;
        parent->addChild(child);

        // Set the widget for the child item to be a QLineEdit for column zero.
        tw->setItemWidget(child, 0, new QLineEdit(tw));
    }

    tw->show();

    return a.exec();
}

这看起来像这样:

Screenshot of TreeWidget