2012-11-30 2 views
1

Qt를 기반으로하는 간단한 C++ IDE를 코딩하려고합니다. 모든 언어 IDE와 마찬가지로 코드 번호는 코드 편집기에서 매우 유용합니다.QTreeView에 회선 번호를 추가하는 방법은 무엇입니까?

편집기에 QTreeView을 사용하고 있는데이 라인 번호 기능을 추가하고 싶습니다. QTreeView::header()은 나에게 수평 헤더 만 반환합니다. 의 줄 번호를 QAbstractItemModel::headerData()으로 설정하려면 어떻게해야합니까?

+2

왜 에디터 컨트롤에'QTreeView'를 사용합니까? QTextEdit이 아니어야합니까? – sashoalm

+0

'QTreeView'에는 수직 헤더가 없습니다. – ecatmur

+0

저는 C++과 비슷하지만 훨씬 더 단순한 "새로운 언어"를 만들고 있습니다. 문법은 아주 간단하기 때문에 사람들이 트리 뷰 위젯에 코드를 작성하고 싶습니다. – zhongzhu

답변

1

세로 머리글이 없습니다. 이런 식으로 QTreeView을 사용하도록 설정 한 경우 데이터 모델의 각 항목과 연결된 열 데이터로 행 번호를 처리해야합니다 (아마 QAbstractItemModel에서 파생 됨). 라인이 삽입 될 때마다 데이터 모델을 거쳐 삽입 된 라인 다음에 오는 각 데이터 항목과 연관된 라인 번호를 업데이트해야합니다.

이 경로를 지나치기 전에 QtCreator의 소스 코드를 다운로드하고 파일 편집기 위젯이 빌드 된 방법을 살펴 보겠습니다.

+0

당신에게 펜을 감사합니다! 그게 저에게 효과적입니다. 세로 색상과 같이 보이도록 세로색을 조정해야합니다. – zhongzhu

관련 문제