2012-12-13 3 views
2

Qt에서 QProgressBar의 텍스트에 대해 다음과 같은 효과를 얻으려면 어떻게해야합니까? :진행 표시 줄 주변에 다른 텍스트 색으로 된 진행 표시 줄?

Progress bar text with different colors around the front of the progress bar

ideea의 내가 진행률 표시 줄의 왼쪽 부분에 밝은 색상을 가지고 있어야한다는 것입니다. 다음과 같이

+1

진행률 표시 줄은 사용자 설정 (테마 지정) 인 위젯 스타일에 크게 의존합니다. 자신 만의 효과를 원한다면 스스로 진행 막대를 구현해야합니다. 그것은 간단합니다. – ypnos

+0

필자는 두 개의 텍스트 레이어를 겹치고 텍스트 레이어 중 하나와 마스크를 연결하는 것으로 생각했습니다. 텍스트 레이어는 채우기 영역과 동일한 크기입니다. 이것이 당신이 염두에 두었던 것입니까? – NemeXis

+0

나는 당신을 팔로우하지 않습니다. 무슨 소리 야? – NemeXis

답변

2

나는 사용자 정의 드로잉을 할 것이다 :

  1. 는 QLabel에서 자신의 진행률 막대 클래스를 파생.

  2. paintEvent() 함수를 덮어 씁니다.

  3. paintEvent()와, QPainter를 그리기 시작에서
  4. :

    • 가 DrawText에()
    • 는 제 1 배경 사각형을 그리와 부색 텍스트를 그리는 보조 배경 사각형
    • 그릴 (
    • 첫 번째 배경 사각형과 일치하는 사각형 내에서 첫 번째 색으로 텍스트를 그립니다. http://qt-project.org/doc/qt-4.8/qpainter.html#drawText-11

달성하고자하는 목표를 달성해야합니다. Qt의 기본 이중 버퍼링으로 인해 깜박임 현상이 없어야합니다.