Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Persian
  4. ترسیم متن فارسی DrawText
Forum Updated to NodeBB v4.3 + New Features

ترسیم متن فارسی DrawText

Scheduled Pinned Locked Moved Persian
8 Posts 3 Posters 4.5k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Offline
    N Offline
    nice_2000
    wrote on last edited by
    #1

    p{direction:rtl; text-align:right;font-family:tahoma}. من میخوام با استفاده از تابع DrawText از QPainter یک متن فارسی رو ترسیم کنم اما بجای متن مورد نظر چرت و پرت تحویل میده :|

    p{direction:rtl; text-align:right;font-family:tahoma}. قبل از پی بردن به این مشکل سوالم این بود که چطور میشه اعداد فارسی رو ترسیم کرد؟

    1 Reply Last reply
    0
    • H Offline
      H Offline
      hdeldar
      wrote on last edited by
      #2

      p{direction:rtl; text-align:right}. اول این که فایلی .cpp كه متن فارسی رو توش منوسید رو به یونیکد یا utf-8 تبدیل کنید و سپس خطوط زیر رو به main.cpp اضافه كنيد.
      @
      #include <qtextcodec.h>
      QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8"));
      @

      p{direction:rtl; text-align:right}. تو فایل پروژت هم این دو خط رو اضافه کن

      @CODECFORSRC = UTF-8
      CODECFORTR = UTF-8
      @

      1 Reply Last reply
      0
      • N Offline
        N Offline
        nice_2000
        wrote on last edited by
        #3

        p{direction:rtl; text-align:right;font-family:tahoma}. خیلی ممنون حل شد :)
        مرحله اول رو انجام دادم و فایل رو هم چک کردم utf-8 بود.
        قسمت دوم رو انجام ندادم. کارش چیه؟
        متن هم باید داخل tr() باشه!

        p{direction:rtl; text-align:right;font-family:tahoma}. خب برای ترسیم اعداد فارسی هم یک راه پیدا کردم. اگر راه بهتری میدونید بگید.
        با استفاده از Character Map ویندوز، کاراکتر فارسی عدد مورد نظر رو کپی کرده و در برنامه قرار دادم. البته قبل از اینکه مراحل بالا رو برای امکان ترسیم فارسی انجام بدم این ها هم درست نمایش داده نمیشدن!

        1 Reply Last reply
        0
        • H Offline
          H Offline
          hdeldar
          wrote on last edited by
          #4

          p{direction:rtl; text-align:right}. برای اطلاع دادن به کامپایلرqmakeهست که فایل ها و متن ها به صورت utf-8 ذخیره و بازیابی و استفاده بشن.
          موفق باشید

          1 Reply Last reply
          0
          • H Offline
            H Offline
            hdeldar
            wrote on last edited by
            #5

            p{direction:rtl; text-align:right}. براي اعداد بنظرم از فونت استفاده کنید یعنی فونتی رو برای برنامتون لود کنید که اعداد فارسی رو هم داشته باشه .در این صورت مشکلتون بنظرم حل بشه

            1 Reply Last reply
            0
            • S Offline
              S Offline
              soroush
              wrote on last edited by
              #6

              [quote author="nice_2000" date="1357415653"]p{direction:rtl; text-align:right;font-family:tahoma}. خیلی ممنون حل شد :)
              مرحله اول رو انجام دادم و فایل رو هم چک کردم utf-8 بود.
              قسمت دوم رو انجام ندادم. کارش چیه؟
              متن هم باید داخل tr() باشه!

              p{direction:rtl; text-align:right;font-family:tahoma}. خب برای ترسیم اعداد فارسی هم یک راه پیدا کردم. اگر راه بهتری میدونید بگید.
              با استفاده از Character Map ویندوز، کاراکتر فارسی عدد مورد نظر رو کپی کرده و در برنامه قرار دادم. البته قبل از اینکه مراحل بالا رو برای امکان ترسیم فارسی انجام بدم این ها هم درست نمایش داده نمیشدن![/quote]

              p{direction:rtl; text-align:right;font-family:tahoma}. از کی‌بورد استاندارد فارسی استفاده کنید. کی‌بورد من ۰۱۲۳۴۵۶۷۸۹ می‌نویسه همچنین 0123456789 . به‌جای ك می‌نویسه ک و به‌جای ي می‌نویسه ی.

              1 Reply Last reply
              0
              • N Offline
                N Offline
                nice_2000
                wrote on last edited by
                #7

                p{direction:rtl; text-align:right;font-family:tahoma}. از راهنماییتون متشکرم
                اما این مورد من یک مشکلی داره. تعداد زیادی عدد باید چاپ بشه که امکان تایپ تک تک اونها امکان پذیر نیست. برنامه باید طوری طراحی بشه که خودش اعداد رو به معادل فارسیشون تبدیل و چاپ کنه.
                فکر می کنم به تابع QChar مربوط بشه
                با تنظیم فونت فارسی مشکل حل میشه اما ممکنه روی دستگاه های مختلف ایجاد مشکل کنه. نمیخوام به فونت ها وابسطه باشه.

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  soroush
                  wrote on last edited by
                  #8

                  [quote author="nice_2000" date="1357418541"]p{direction:rtl; text-align:right;font-family:tahoma}. از راهنماییتون متشکرم
                  اما این مورد من یک مشکلی داره. تعداد زیادی عدد باید چاپ بشه که امکان تایپ تک تک اونها امکان پذیر نیست. برنامه باید طوری طراحی بشه که خودش اعداد رو به معادل فارسیشون تبدیل و چاپ کنه.
                  فکر می کنم به تابع QChar مربوط بشه
                  با تنظیم فونت فارسی مشکل حل میشه اما ممکنه روی دستگاه های مختلف ایجاد مشکل کنه. نمیخوام به فونت ها وابسطه باشه.[/quote]

                  p{direction:rtl; text-align:right;font-family:tahoma}. از کی‌بورد استاندارد فارسی استفاده کن! و یک واسط بنویس که اعداد تولید شده رو به معادل‌های یونیکد مدرن تبدیل کنه.

                  1 Reply Last reply
                  0

                  • Login

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • Users
                  • Groups
                  • Search
                  • Get Qt Extensions
                  • Unsolved