나는 무엇을 하려는지 직접 편집 할 수는 없지만 테이블 바깥의 일부 위젯에서 편집 할 수있는 테이블을 가지고있다. 즉, 선택된 노드를 여기에서 편집 할 수 있으며, 항상 표시되기를 원하기 때문에 모든 노드가 동일한 편집기를 사용합니다. 나는 무엇을 시도했다Qt : 하나의 에디터에게 위임
이 같은 QItemDelegate를 서브 클래스 그냥 내가 이미 가지고있는은 QTextEdit의 인스턴스를 반환하는 것입니다 :
당신이 파괴됩니다 편집기를 떠날 때를 제외하고, 작동class Delegate extends QItemDelegate {
@Override
public QWidget createEditor(QWidget parent, QStyleOptionViewItem option, QModelIndex index) {
return qtextEdit;
}
}
. 아마도 위임은이 방법으로 사용되지 않아야합니다. 그럼 내가 어떻게 할 수 있니?
closeEditor 멤버 함수를 다시 구현 했습니까? 이 메소드는 에디터 삭제/삭제를 담당하지 않는다고 생각합니다. –
closeEditor 메소드가 없습니다. 거기에 신호 closeEditor 그래서 내가 그걸로 아무 상관이 생각. 그리고 어쨌든 그것의 최종, 그래서 그것은 무시 될 수 없습니다. – takoi
Java에서 Qt를 간신히 이해할 수 있습니다. 나는 그것이 가능하다는 것을 안다. 그러나 이것이 그것이 무엇인지 깨닫는 것이 나를 길게 잡았다. ... – ianmac45