2013-04-22 3 views
2

QGraphicsItems에 대한 여러 가지 색상의 툴팁이 필요합니다. 예를 들어 장면의 graphicsItem을 클릭하면 툴팁이 나타나고 드래그하는 동안 마우스 툴팁이 커서를 따라 가야합니다. 표준 QToolTip을 사용하여 움직이는 툴팁을 구현할 수 있지만 Qt는 전체 툴팁에 대해 단 하나의 색상 만 지원합니다. 또한 QToolTip에는 paintEvent가 없으므로 QTextEdit에서 상속 된 ColoredTooltip 클래스를 만들지 만 ColoredTooltip 객체를 처음 표시 할 때 문제가 나타납니다. 그래픽 장면에서 mouseMove 이벤트를 catch하고 coloredTooltip을 움직일 수 없기 때문에 마우스 이벤트를 잡기 시작했습니다. 어떻게 그 문제를 해결할 수 있습니까?Qt의 여러 색상 도구 설명

+0

"동일한 툴팁에 여러 색상"을 의미 했습니까? 색상을 변경 하시겠습니까? 아니면 도구 팁을 "텍스처 화"하시겠습니까? – leemes

+0

아니요, 전체 툴팁의 색상을 변경할 수는 있지만 하나의 툴팁에 최소한 3 가지 색상이 있어야합니다. – IKM2007

+0

그리고 어떻게 나타나야합니까? 선형 그래디언트로? 내 대답처럼 칫솔질을 해봤 니? 나는 그것을 테스트하지 않았으므로, 그것이 작동하는지 모르겠습니다. – leemes

답변

5

단일 단어 또는 텍스트의 일부 색상을 지정하려면 Qt's tiny HTML subset supported by its rich text engine을 사용하십시오. <font> 태그 및 속성 color=이 지원됩니다. QToolTip은 서식있는 텍스트를 지원합니다.

이 사람은 나를 위해 작동 :하지 않는 한 그

toolTip.setText("foo <font color=\"#ff0000\">bar</font>"); 

Image showing a tool tip where one word is colored in red

참고 :

toolTip.setText("foo <font color=\"red\">bar</font>"); 

가, 육각-표기법을 사용 (뿐만 아니라 알려진 이름) 모든 RGB 색상을 사용하려면 도구 팁을 표시하는 동안 또는 추가 속성을 설정하려는 경우 QGraphicsItem::setToolTip을 사용하면됩니다.