我遇到了多語言qt(即時更改語言)的問題。我的表單有一個組合框,應該在語言改變時進行翻譯。當languageChanged時,應用程序調用方法retranslateUi()來轉換組合框中的項目。組合框具有對應於信號currentIndexChanged()的插槽。Qt多語言QCombobox
void on_comboBox_currentIndexChanged(int index)
{
//do something
}
但當方法retranslateUi()調用,我這樣做:
void retranslateUi()
{
ui->comboBox->clear();
ui->comboBox->insertItems(0, QStringList()
<< QApplication::translate("SettingDialog", "English", 0, QApplication::UnicodeUTF8)
<< QApplication::translate("SettingDialog", "French", 0, QApplication::UnicodeUTF8)
);
}
問題是:在retranslateUi()每個語句會發出信號currentIndexChanged(),那麼廣告位會再打電話。
我該如何避免這種情況?
非常感謝。我試過了,一切都很好 – PhiVH 2012-07-31 12:42:31