نمایش پستها با برچسب Qt. نمایش همه پستها
نمایش پستها با برچسب Qt. نمایش همه پستها
۱۳۹۰/۱۱/۱۹
در حالت عادی وقتی بخوایم یه سری تگ HTML رو توی یه QString ذخیره کنیم، موقع نمایش اون توی QLabel تگ های HTML شناخته نشده و خود تگ ها رو هم جزو متن میبینیم. مثلا اگه بخوایم تگ زیر رو نمایش بدیم :
---
وقتی از کد زیر استفاده کنیم :Hello World
بصورت زیر نمایش داده میشه :Hello <font color=Blue>World</font>
حالا اگه بخوایم این متن درست نشون داده بشه کافیه که در ابتدای متنمون به QString بفهمونیم که داخلش تگ های HTML وجود داره، برای این منظور می تونیم از متا تگ زیر استفاده کنیم:Hello <font color=Red>World</font>
که باعث میشه تگ های HTML به درستی نمایش داده بشه. به عنوان مثال :<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">
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);
---
۱۳۹۰/۱۰/۲۹
از امروز میخوام راجع به پلتفرم جدیدی که برنامه نویسیش رو شروع کردم بنویسم و چیزایی رو که یاد میگیرم رو اینجا با بقیه به اشتراک بزارم. امیدوارم که این تجربیات هرچند ناچیز یه روزی به درد یه نفر بخوره.
یه مشکلی رو که تا الان با نوشتن متن های فارسی تو Qt داشتم و امروز حلش کردم این بود که وقتی میخواستم تو Source برنامم یه رشته متنی فارسی (یونیکد) رو استفاده کنم به مشکل بر میخوردم و کاراکتر ها اشتباه نشون داده میشد. واسه رفع این مشکل یکم با گوگل مشورت کردم و راه حل رو پیدا کردم :
برای استفاده از کاراکتر های None ASCII توی کد میتونیم از QString::fromUtf8 به شکل زیر استفاده کنیم:
QString foo = QString::fromUtf8( "funny characters" );
اینجوری ابتدا رشته به یونیکد تبدیل میشه و بعد ذخیره میشه.
اشتراک در:
پستها (Atom)








