۱۳۹۰/۱۱/۱۹

نوشته شده توسط Reza Alizadeh Majd
دسته بندي: , ,
در حالت عادی وقتی بخوایم یه سری تگ HTML رو توی یه QString ذخیره کنیم، موقع نمایش اون توی QLabel تگ های HTML شناخته نشده و خود تگ ها رو هم جزو متن میبینیم. مثلا اگه  بخوایم تگ زیر رو نمایش بدیم :
Hello World
وقتی از کد زیر استفاده کنیم :
Hello <font color=Blue>World</font>
بصورت زیر نمایش داده میشه :
Hello <font color=Red>World</font>
حالا اگه بخوایم این متن درست نشون داده بشه کافیه که در ابتدای متنمون به QString بفهمونیم که داخلش تگ های HTML وجود داره، برای این منظور می تونیم از متا تگ زیر استفاده کنیم:
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">
که باعث میشه تگ های HTML به درستی نمایش داده بشه. به عنوان مثال :
QString str = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"Hello <font color=Red>devildarkness</font>";
label->setText(str);
آپدیت 1390/11/23: بجای روش فوق میتونیم از متد setTextFormat بصورت زیر استفاده کنیم :
label->setTextFormat(Qt::RichText);


---

۱ نظر:

  1. سلام.
    ممنونم از مطلبتون.
    کاش بیشتر درا ین مورد بنویسید...

    پاسخحذف