Qt - 탐색 표시 줄 의 실현
14163 단어 Qt
이 블 로 그 는 다음 과 같이 시작 합 니 다.http://blog.csdn.net/lys211
전재 출처 를 밝 혀 주 십시오
sssooonnnggg 의 [사용자 정의 트 리 구조 내 비게 이 션 표시 줄] 을 보 았 습 니 다.
http://www.qtcn.org/bbs/read-htm-tid-58274.html
그래서 QT 의 TreeWidget 컨트롤 을 고 쳐 서 이런 효 과 를 실현 할 수 있 을 까 하 는 생각 이 들 었 습 니 다. 최근 에 시간 을 내 서 만 들 었 습 니 다. 초기 효 과 는 다음 과 같 습 니 다.
시간 적 인 이유 로 UI 를 더 이상 조정 하고 싶 지 않 습 니 다.
원본 과 비교 하고 싶 은 것 은 문장 첫머리 url 에서 뛰 어 보 세 요.
이것 은 TreeWidget 으로 이 루어 진 네 비게 이 션 바 입 니 다. Qt 디자이너 에 TreeWidget 의 속성 을 설정 합 니 다.
색상 등 은 QSS 로 수정 합 니 다.
네 비게 이 션 바 의 이벤트 응답 은 clicked (index) 를 사용 할 수 있 습 니 다.
void MainWindow::on_treeWidget_clicked(const QModelIndex &index)
{
int nTopIndex = index.parent().row();
if (-1 == nTopIndex)
{
QTreeWidgetItem *item = treeWidget->currentItem();
item->setExpanded(!item->isExpanded());
return ;
}
int nCurrenIndex = index.row();
int nIndex = nTopIndex<<3|nCurrenIndex;
qDebug()<<"nTopIndex:"<<nTopIndex<<"nCurrenIndex:"<<nCurrenIndex<<"nIndex:"<<nIndex;
this->setWindowTitle(index.data().toString());// title
switch (nIndex) {// clicked,
case 0:// [e1 ] ,
stackedWidget->setCurrentIndex(0);
break;
case 8:
stackedWidget->setCurrentIndex(0);
break;
case 9:
stackedWidget->setCurrentIndex(0);
break;
case 10:
stackedWidget->setCurrentIndex(0);
break;
case 16:
stackedWidget->setCurrentIndex(0);
break;
case 17:
stackedWidget->setCurrentIndex(0);
break;
case 18:
stackedWidget->setCurrentIndex(0);
break;
case 24:
stackedWidget->setCurrentIndex(0);
break;
case 25:
stackedWidget->setCurrentIndex(0);
break;
case 26:
stackedWidget->setCurrentIndex(0);
break;
case 32:
stackedWidget->setCurrentIndex(1);
break;
default:
break;
}
}
2015 년 07 월 19 일 보충:
처음에 이 조련 사의 프로젝트 는 CSDN 에 업로드 되 었 습 니 다.
http://download.csdn.net/detail/lys211/8913337
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Qt로 문자와 이미지의 혼합 텍스트 그리기텍스트를 그리려면 QPainter::drawText 함수를 사용하지만 텍스트와 동시에 이미지 (아이콘 등)를 함께 그리기를 원합니다. QLabel와 QPushButton는 이미지와 텍스트를 표시하는 기능을 가지고 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.