2012-12-07 4 views
2

다음 작품 잘 :QPrintDialog에서 호출 된 QFileDialog를 현지화하는 방법은 무엇입니까? QPrintDialog 지역화

#include <QtGui/QApplication> 
#include <QTranslator> 
#include <QPrintDialog> 

int main(int argc, char *argv[]) 
{ 
    QApplication a(argc, argv); 
    QTranslator translator; 
    if (translator.load("./translations/qt_de.qm")) { 
     a.installTranslator(&translator); 
    } 

    QPrintDialog printdialog; 
    printdialog.exec(); 
} 

하지만이 QPrintDialog에서 (세 점)은 "파일 선택"- 버튼을 클릭하면, 파일 대화 상자의 영어 버전은 최대 대신에 온다 내가 갖고 싶어하는 독일인의

또한, 콘솔에서 경고가 :

이 KGlobal이 :: 로케일 :: 글로벌 KLocale 대신 가짜 구성 요소의 유효한 주요 구성 요소와 함께 다시되고 경고, 이것은 일반적으로 당신이 노력을 의미

주 구성 요소가 작성되기 전에 i18n 관련 기능을 호출하십시오. 가장 가능성이 높기 때문에 그렇게하지 말아야합니다.

어디를 봐야하나요?

언급 된 해결 방법은 here입니다. 일부 QDialog는 :: DontUseNativeDialog 플래그를 지원하지만 QPrintDialog는 지원하지 않습니다.

가 translator.load 후이 줄을 추가 할

답변

0

시도 (결과가 다른 플랫폼에서 어떻게 리눅스에서 테스트, 모르는) :

:: installTranslator (& 번역기); // 또는 (*)

과의 QApplication :: installTranslator 방법에 대한 문서를 읽어와 같은 일이 ...

(*) 미안 내가 확인하고 그것은 QCoreApplication의 방법입니다. qApp 매크로에 의해 QMainWindow 하위 클래스에 사용되는, main.cpp에서 호출하는 방법을 모르겠습니다. 제발 시험 좀 해봐.