#include <QApplication>
#include <QTreeWidget>
#include <QTreeWidgetItem>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QTreeWidget* treewidget = new QTreeWidget();

    QTreeWidgetItem* header = new QTreeWidgetItem;
    header->setText(0, "name");
    header->setText(1, "age");
    header->setText(2, "etc");
    treewidget->setHeaderItem(header);

    QTreeWidgetItem* row1 = new QTreeWidgetItem(treewidget);
    row1->setText(0, "col 1");
    row1->setText(1, "col 2");
    row1->setText(2, "col 3");

    QTreeWidgetItem* row2 = new QTreeWidgetItem;
    treewidget->addTopLevelItem(row2);
    row2->setText(0, "?");
    row2->setText(1, "??");
    row2->setText(2, "???");

    QTreeWidgetItem* subItem1 = new QTreeWidgetItem;
    subItem1->setText(0, "? - 1");
    subItem1->setText(1, "? - 2");
    subItem1->setText(2, "? - 3");
    row2->addChild(subItem1);

    QTreeWidgetItem* subItem2 = new QTreeWidgetItem;
    subItem2->setText(0, "? - 1");
    subItem2->setText(1, "? - 2");
    row2->addChild(subItem2);

    treewidget->resize(500, 500);
    treewidget->setSortingEnabled(TRUE);
    treewidget->show();

    return app.exec();
}

이번에는 TreeWidget을 만들어 보도록 하겠습니다.


02 ~ 03. 필요한 헤더파일을 추가시킵니다.

09. QTreeWidget 객체를 생성합니다.

11. QTreeWidgetItem 객체를 생성하고

12 ~ 14. 생성한 item 객체에 3개의 column을 만들었습니다.

15.  treewidget 객체에 방금 생성한 item 객체를 헤더로 추가합니다.


여기까지 최상단 목록을 만들었습니다.


17. QTreeWidgetItem 객체를 생성 합니다. item 객체를 생성하는데에는 두가지 방법이 있는것 같은데요. 17, 22 ~ 23. 라인을 보시면 조금은 다르게 되어있지요.

자세한건 모르겠지만 두개가 같은 결과를 얻습니다.

18 ~ 20. 생성한 item에 3개의 column을 만들었습니다.


여기까지 행을 만드는 방법입니다.


이번에는 하나의 행에 속해있는 또 하나의 행(서브)을 만들어 보도록 하겠습니다.


28 ~ 31. 위와 같은 방법으로 item 객체를 생성하고 column을 추가합니다.

32. 해당 item 객체를 위에서 만든 row2 객체의 자식으로 추가합니다.

34 ~ 37. 여러개의 자식을 추가시킬 수 있습니다.


40. 해당 옵션을 사용하면 최상위 목록을 클릭했을때 자동정렬이 되도록 할 수 있습니다.






+ Recent posts