基于Qt3下的UI編程, 在main.cpp中定義了QApplication app;QTranslator translator; translator.load(QString("lang_") + QTextCodec::locale()); app.installTranslator(&translator);在啟動的時候更具系統環境變數的本地語種進行語言設定, 實作多語種是沒有問題的, 但如果我們在程式運行的時候, 改變語種的話,不重起系統。 如何實作呢 ? 我看到一些代碼void MainWindow::ch_language(){ if(this->languageState) { this->languageState=CHINESE ; this->translator.load("test_ch") ; this->pOwner->installTranslator(&(this->translator)); } else { this->languageState=ENGLISH ; this->translator.load("test_en") ; this->pOwner->installTranslator(&(this->translator)); }}難道在每個表單里面都需要定義個translator , qApp 嗎 ? 對于QT3是否合適呢?是否有一種方法可以在main.cpp中實作一個connect(), 在界面改變語種的時候, 在main.cpp中運行一次槽函式來改變加載的字體。
uj5u.com熱心網友回復:
自己來頂帖子, 用qApp->installTranslator()就可以解決了, 原來qApp這個是表單里面固定有的。uj5u.com熱心網友回復:
最近發現上一潭訓復是錯的。uj5u.com熱心網友回復:
后來咋解決的?轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/256901.html
標籤:其他技術討論專區
上一篇:環視影像處理求助
