2011-07-17 2 views
8

QLabel의 포함 된 텍스트를 자르 더라도 QLabel의 크기를 조정할 수 있습니까? 위젯의 전체 수평 공간을 늘리는 QLabel이 있습니다. 텍스트를 설정할 때, 올바르게 잘라내 었는지 확인합니다. 즉 FontMetrics와 Width를 가져오고 metrics.elidedText()를 사용합니다.텍스트를 자르더라도 QLabel을 축소 할 수 있습니다.

그러나 사용자가 위젯의 크기를 조정하면 Label에서 텍스트를 자르므로 더 이상 축소되지 않습니다.

어떻게 해결할 수 있습니까? 내가 생각하기에 가장 간단한 해결책은 어떻게 든 QLabel에게 항상 크기를 줄이고 크기 조정 이벤트를 잡아서 텍스트 형식을 올바르게 지정하는 것입니다. 첫 번째 부분을 수행하는 방법을 모릅니다. (다른 크기 정책은 도움이되지 않습니다.)

답변

8

크기 설정 정책이 도움이되지 않는다고 언급했지만 QLabel의 가로 크기 정책을 QSizePolicy::Ignored으로 설정하면 포함 된 레이아웃 관리자에게 라벨의 최소 크기 힌트를 무시하도록 알려줍니다. 다른 방법으로는 QLabel의 최소 가로 크기를 1과 같이 0이 아닌 값으로 설정할 수 있습니다. 둘 다 작동하지 않으면 간섭하는 다른 것이 있습니다.

+0

이상한 나는 무시하려고 시도했다. 위젯이 더 이상 전체 가로 공간을 채우지 않았기 때문에 위젯을 올바르게 축소 할 수 있었지만 이상한 그래픽 모양을 나타냈다. (내가 게시했을 때 완전히 잊어 버렸던 미안해!). 나는 단지 그것을 다시 시험해 보았다. .. 그것이 작동한다 - 독일어로 우리는 "Vorführeffekt"라고 말할 것이다.) +1을 받아 들였다. – Voo

+1

나는 그 말을보고 즐겼다. :) –

관련 문제