문제

나는있다 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()

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top