1
나는 QTreeWidget
을 가지고 있습니다. 그러나, 내 데이터 구조로 인해 누군가 편집을 마치면 QTreeWidget
(또는 QTreeWidgetItem
)을 말해야합니다.QTreeWidgetItem editingFinished() 신호?
이미 쉽게 해결할 수 있다면 QTreeWidget
과 QTreeWidgetItem
의 하위 클래스가 있습니다.
나는 QTreeWidget
을 가지고 있습니다. 그러나, 내 데이터 구조로 인해 누군가 편집을 마치면 QTreeWidget
(또는 QTreeWidgetItem
)을 말해야합니다.QTreeWidgetItem editingFinished() 신호?
이미 쉽게 해결할 수 있다면 QTreeWidget
과 QTreeWidgetItem
의 하위 클래스가 있습니다.
QTreeWidget은 QTreeWidget::itemChanged (QTreeWidgetItem * item, int column)
이라는 신호를 내 보냅니다. 이 일을해야합니다.
것은 당신이 코드를 채우거나 변경할 때도 호출됩니다. 따라서이를 해결하기 위해 QObject::blockSignals(bool)
을 사용하십시오.
soo long zai
고마워요,이 작품은 완벽하게 !! – waddlesplash
네, 어떻게하면 항목을 편집 할 때 itemChanged를 잡아도되고 변경하지 않고 Enter 키만 누르면됩니까? 필자의 경우 treeitem을 사용하여 파일 브라우저를 만들었습니다. 원하는 경우 새 폴더를 만들 수 있습니다. 새 항목을 만들고 itemChanged를 감지하여 새 이름을 catch하고 파일 시스템에 폴더를 만듭니다. 기본적으로 새 폴더는 '새 폴더'라고하며, 기본 이름을 유지하려면 Enter 또는 Esc를 누르기 만하면 변경되지 않은 항목으로 itemChanged가 트리거되지 않습니다. – Seb
은 항목 자체가 변경되지 않았기 때문일 수 있습니다. 당신은'keyPressEvent'를 체크하고'enter/return'가 눌 렸을 때 신호를 내 보려고 할 수 있습니다 – Zaiborg