2010-02-12 3 views
2

스핀 상자에서 너무 커 보이는 사용자 글꼴이있는 스핀 상자를 사용하고 있습니다. 텍스트를 어떻게 아래로 이동합니까?Qt :: QSpinBox에서 텍스트를 낮추는 방법

나는 이미 QStyle을 다시 구현했으며 다른 위젯에서 폰트를 더 낮게 만들었지 만, 스핀 상자로 어디에서 그것을 할 수 있는지 찾을 수 없습니다. QRect 어딘가에 있어야합니다. 어딘가에 상단을 옮길 수는 있지만 모르거나 모르거나 찾을 수없는 곳입니다.

답변

2

Qt는 수정하려는 것으로 보이는 QStyle::SC_SpinBoxEditField을 지정합니다. 몇 년 전 스타일을 가지고 작업 할 때 올바르게 기억한다면 그 서브 컨트롤의 옵션을 가져올 수 있어야합니다.이 서브 컨트롤에는 그 안에 그려지는 rect가 포함됩니다. 그 결과를 얻을 수도 있습니다. 그렇지 않은 경우 귀하의 답변을 검색 할 수있는 곳입니다.

+0

감사합니다. 불행히도 텍스트와 배경 모두의 영역이지만 여전히 텍스트를 격리시키는 것을 찾을 수 없습니다. – Ayeayeron

0

이 긍정적 인 대답보다 생각보다이지만 스타일이 작업을 수행 할 수 있습니다

spinbox->setStyleSheet("QSpinBox { bottom: -2px;}"); 

가 이상적으로 단지 텍스트의 서브 컨트롤 또는 뭔가있을 것입니다,하지만 stylesheet documentation 아무튼 위의 것을 암시하는 것은 바람직하지 않은 결과를 초래할 수 있습니다.

+0

감사합니다.하지만 스타일 시트를 사용하지 않고 qstyle을 다시 구현해야합니다. 너무 많은 플래시 공간을 차지합니다. 이것은 임베디드 응용 프로그램을위한 것입니다. – Ayeayeron

+0

스타일 시트 파일이 필요하지 않습니다 ... 왜 그렇게 생각합니까? 너무 많은 공간? – smerlin

+0

@smerlin : 아마 스타일 시트 (Qt 내부)를 해석하는 코드가 너무 많은 공간을 차지하므로 컴파일되지 않았습니다. Qt는이 옵션을 빌드 할 때 플래그로 사용할 수 있다고 확신합니다. –

0

당신은 할 수 있습니다 :

spinBox->setAlignment(Qt::AlignCenter);//Or the Align Flag that you want 

난이 도움이되기를 바랍니다.