2011-09-15 5 views
3

내 qt4 기반 응용 프로그램이 retranslateUi() 함수를 호출하여 동적으로 GUI 언어를 변경합니다. 그것은 매력처럼 작동하지만, 프로그램에 의해 어떤 텍스트가 바뀌는 QLabel을 처리 할 때, 원래의 텍스트를 번역하려고합니다 - 내 프로그램에 의해 설정된 텍스트가 아니라 Qt Designer에 지정된 텍스트를 번역하려고 시도합니다.retranslateUi() QLabel 텍스트를 지움

retranslateUi()이 빌드 프로세스 중에 자동으로 생성되어 변경 사항을 알지 못했기 때문에 발생하는 것으로 알고 있지만 그럴 경우 QLabel을 완전히 건너 뜁니다. retranslateUi()에 특정 위젯을 건너 뛰도록 Qt에 지시하는 방법이 있습니까? 또는 내 프로그램에서 QLabel의 콘텐츠 변경을 비활성화 할 수 있습니까?

하위 클래스 QLabel을 알고이 문제를 해결하여 setText()을 해결할 수 있지만 Qt 디자이너를 사용하여 조작 할 수 있으려면 표준 QLabel을 사용하는 것을 선호합니다.

답변

6

Designer에서 번역 할 때 QLabel을 선택 취소 할 수 있습니다. 기본적으로입니다. 번역하고 싶지 않은 라벨을 선택하십시오. 속성 편집기에서 "text"속성으로 스크롤하고, 펼치고 확인란을 선택 취소하십시오. 그런 다음 ui _ *. h 파일을 다시 생성해야합니다. 그 후에 당신의 레이블은 재 변환 코드 안에 없어야합니다.

+0

나는 이와 같이해야하지만'text'를 보지 않았습니다. 그게 정확히 내가 찾던 것입니다. 많은 감사합니다! – qrdl

관련 문제