الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

QString و الترميز الموحد (unicode)

بدأه kenouz1234 في 28 ديسمبر 2010 · 6 رد · 2,006 مشاهدة · في قسم Cross Platform GUI Libraries العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

سؤالي هو: QString لا يقبل الأحرف العربية مباشرا؟ فال QPushButton يظهر لي أحرف غريبة كما الصورة في الملف المرفق

#include <QtGui/QApplication>
#include <QPushButton>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QString marhaban = "مرحبا";
    QPushButton arabic;
    arabic.setText(marhaban);
    arabic.show();

    return a.exec();

}

أستخدم:

Qt 4.7.0

Qt Creator 2.0.1

Windows 7

شكرا

post-34160-026416000 1293509426_thumb.jp

المرفقات
button.jpg
1
#2

إستخدم الأتي:

QString marhaban = QObject::trUtf8("مرحبا");
forum-signature-01.gif
#3

غير الكودك

    QApplication app(argc,argv);
    app.setLayoutDirection(Qt::RightToLeft);

    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));

....

أيضا لا تنسى تغيير ترميز محرر كيوتي كريتور الى UTF-8 وذلك من قائمة project.

تم تعديل هذه المشاركة بواسطة SudaNix في 28 ديسمبر 2010 في 22:33

#4
asm-soft كتب:

إستخدم الأتي:

QString marhaban = QObject::trUtf8("مرحبا");

SudaNix كتب:

غير الكودك

    QApplication app(argc,argv);
    app.setLayoutDirection(Qt::RightToLeft);

    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));

....

أيضا لا تنسى تغيير ترميز محرر كيوتي كريتور الى UTF-8 وذلك من قائمة project.

لقد قمت بتغيير ترميز محرر كيوتي كريتور الى UTF-8 و كلتا الطريقتين تظهر لي أحرف غريبة أيضا (كما في الملف المرفق)

post-34160-023362900 1293572298_thumb.jp

المرفقات
marhaban.jpg
#5

أنت الأن قمت بتغيير الإعدادات و لكن أعتقد أنك يجب عليك إعاده حفظ الملف و لكن بترميز utf8

1
forum-signature-01.gif
#6

مشكورين إخواني الكرام، أخيرا ظهرت "مرحبا" بلغتنا العربية :)

#7

كان من الممكن أيضًا أن تكتفى بوضع السطور الآتية فى ال main

 

    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("windows-1256"));

مواضيع مشابهة