QtreeWidgetItem의 역할은 무엇입니까?
-
21-08-2019 - |
문제
나는있다 QTreeWidget
여러 열에 추가하여 추가합니다 QTreeWidgetItems
그것에. 두 번째 열에는 각각에 대한 숫자 값을 포함하려고합니다. Item
따라서이 값으로 항목을 정렬 할 수 있습니다
QTreeWidgetItem has a method called setData(int column, int role, QVariant(data))
이것에 대한 문서를 찾을 수 없습니다 role
논쟁은. 내가 아는 것은 1 또는 2로 설정하면 열에 무언가가 나타나면 0 또는> = 3으로 설정하면 열에 아무것도 나타나지 않지만 숫자는 항상 알파벳순으로 정렬됩니다. 잘못되었습니다.
해결책
응용 프로그램 별 목적으로 QT :: Userrole을 사용할 수 있습니다. 이 데이터는 QVariant이므로 여러 데이터를 설정하여 QVariant로 캐스트하여 데이터를 설정할 수 있습니다.
예는 다음과 같습니다.
QTreeWidgetItem* item = new QTreeWidgetItem();
QList<QVariant> dataList;
dataList.append("data 1");
dataList.append("data 2");
QVariant data(dataList);
item->setData(0, Qt::UserRole, data);
다른 팁
관련 문서는 아래에서 찾을 수 있습니다 QT :: ItemDatarole (발견 된 qabstractItemModel :: setData). 역할은 통과하는 데이터를 사용해야 할 데이터를 지정하는 데 사용됩니다. 다른 역할을 사용하여 항목의 툴팁, 글꼴 또는 색상을 설정할 수 있습니다.
주목하십시오 item->text()
편의성입니다 item->data(Qt::DisplayRole).toString()
제휴하지 않습니다 StackOverflow