번역의 일부 측면에서 Qt 문서가 매우 장황하지 않은 것으로 나타났습니다. 나는 그들의 행동을 재판 & 오류를 사용하여 파악하려고 노력하면서 장난하고 있었다. 궁극적 인 목표는 런타임에 번역이 변경되도록하는 것이지만 QTranslator 객체를 어느 정도까지 재사용 할 수 있는지에 대해서는 매우 혼란 스럽습니다.qt Q 번역기 재사용
이가 (여기서 'A'응용 프로그램의 기본 인스턴스) 고려 :
QTranslator translator;
translator.load("mytranslation_cz");
a.installTranslation(&translator);
(...)
a.removeTranslation(&translator)
지금은 번역기가 응용 프로그램에서 제거하지만이 번역기 객체에 일어 났는가? 내 테스트에서
이 코드 위에 다시
translator.load("mytranslation_fr");
a.installTranslation(&translator);
가 메인에서 아무것도()하지 않았다이 다음에하고 위젯 중 하나를 호출하면 응용 프로그램이 충돌 할 때 (주요 애플 리케이션에 대한 포인터를 사용) .
따라서 응용 프로그램에서로드 할 변환 당 하나의 QTranslator 개체를 만들어야한다고 의심하고 있습니다. QTranslator 개체를 다시 사용할 수 없습니다.. 이 가정에 내가 맞습니까?
그리고 부탁드립니다. QTranslator 객체가 removeTranslation()에 의해 영향을받지 않는다고 가정하면, 이것을 나중에 다시 설치할 수 있습니까? 내가 설치 및 QTranslation 객체가 어떻게 든 런타임에서 여러 번역을 위해 재사용 될 수있다 특히 응용 프로그램 및 에서 번역을 제거 할 때 QTranslation 객체에 무슨 일에 관해서는 다소 혼란 스러워요 어떠한 해명
QTranslator translator;
QTranslator translator1;
translator.load("mytranslation_cz");
translator1.load("mytranslation_fr");
a.installTranslation(&translator);
(...)
a.removeTranslation(&translator);
a.installTranslation(&translator1);
(...)
a.removeTranslation(&translator1);
a.installTranslation(&trasnlator); //Will this work?
감사합니다?