ورود

View Full Version : سوال: فارسی نویسی در تابع ()tr



alamate_aoal
دوشنبه 19 دی 1390, 15:49 عصر
سلام
چطور میشه در تابع tr فارسی نوشت؟

من از این روش استفاده کردم
QTextCodec::setCodecForTr(QTextCodec::codecForName ("UTF-8"));
lineEdit->setText( tr("سلام") );
در قطعه کد بالا کلمه ی "سلام" در برنامه درست نشون داده میشه اما موقع ترجمه برنامه با linguist رشته بصورت نامفهوم در میاد و قابل ترجمه هم نیست.
روش اصولی این کار چیه؟

پ.ن : فایلهای منبع برنامه رو بصورت UTF-8 ذخیره کردم

حامد مصافی
دوشنبه 19 دی 1390, 16:45 عصر
اینو امتحان کن(به جای هر دو خط):

lineEdit->setText( tr(QString::fromUtf8("سلام")) );

alamate_aoal
دوشنبه 19 دی 1390, 23:52 عصر
کامپایل نمیکنه :

error: C2664: 'QString MainWindow::tr(const char *,const char *)' : cannot convert parameter 1 from 'QString' to 'const char *'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

alamate_aoal
چهارشنبه 05 بهمن 1390, 07:08 صبح
آقای alamate_aoal (http://barnamenevis.org/member.php?103489-alamate_aoal) بجای ()tr از ()trUtf8 استفاده کن:لبخند: