PDA

View Full Version : Change QLocale



taikongbuhx
17th October 2013, 10:05
How can I change the QLocale in my application many times? I need to change the language of QCalendar many times, so I need to change the locale.

spirit
17th October 2013, 11:26
You can use QLocale::setDefault.

taikongbuhx
18th October 2013, 02:50
I have try that already, but it doesn't work well.[CODE]void QtFrameless::changeLanguage(int i)
{
if(i == 1)
{
tran->load(QString("./qtframeless_en.qm"));
languageFlag = 1; //æ›´æ”¹æ—¶é—´æ ¼å¼ç”¨ç „
QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));

QDate d;
ui.dateEdit = new QDateEdit(d.currentDate());
ui.dateEdit_2 = new QDateEdit(d.currentDate());
}
else if(i == 0)
{
tran->load(QString("./qtframeless_zh.qm"));
languageFlag = 0;

QLocale::setDefault(QLocale(QLocale::Chinese, QLocale::China));
QDate d;
ui.dateEdit = new QDateEdit(d.currentDate());
ui.dateEdit_2 = new QDateEdit(d.currentDate());
}[CODE]