2014-04-16 2 views
6

QLineEdit의 텍스트 여백은 어떻게 얻을 수 있습니까? 심지어 편집 불구하고, 나는 화면에서 편집 상자 qDebug() << ui->lineEdit->textMargins();을 시도QLineEdit의 텍스트 여백 가져 오기

enter image description here

하지만 QMargins(0, 0, 0, 0) 인쇄 :

주 스크린 샷에서 빨간색 선을 그에서 내가 관심 여백의 상자에는 여백이 있습니다.

+0

결국 font-size와 widget-size 사이의 공간입니까? 이 크기는 글꼴 크기 (QFontMetrics)와 사용 가능한 높이로 계산할 수 있습니다. textMargins() 메서드는 여백에 대해 예약 된 여유 공간을 반환하며, 여백 0은 글꼴이 항상 테두리에 부딪 힐 수 있음을 의미하지는 않습니다. –

+1

수직 여백은 고려할 수 있지만 수평 여백은 고려할 수 없습니다. 또한, 수평선이 사라질 수 있습니다. http://i.stack.imgur.com/9mD13.png – sashoalm

+0

왜이 정보가 필요합니까? 어쩌면이 값을 얻지 않고 문제를 해결할 수있는 대체 방법이있을 수 있습니다. –

답변

3

체크 paint event of QLineEdit. 당신이 볼 수 있듯이 많은 것들이 그것에 영향을 미칩니다.

외에도 textMargins yuo가 찾고있는 값에 영향을 줄 수있는 것들이 있습니다.

  1. 사용되는 스타일 (참조 라인 1861)
  2. 및 글꼴 특성 - QFontMetrics::ascentQFontMetrics::descent

스타일 값은 대부분의 수입이며이 값을 얻을 수있는 방법을 찾아야한다 참조 (아마도 서브 클래스입니다 필요)

+0

링크가 더 이상 작동하지 않습니다. 새로운 것이 있습니까? – wutzebaer