ورود

View Full Version : مشکل درج یا نمایش کاراکترهای فارسی در ویجت های Qt



ASedJavad
دوشنبه 18 آبان 1394, 16:06 عصر
سلام
من از Qt نسخه 5.5 و 5.4 استفاده کردم و تو درج و نمایش کاراکترهای خاص فارسی تو ویجتهای نمایش متنش (ویجت هایی مثل QlineEdit , QTextBrowser , ...) این مشکل رو دارم که مثلا کاراکتری مثل alt + 0254 یا alt +0157 که برای درج نیم‌فاصله بکار می‌رن، یا مثلا ctrl+shift+1 که برای درج چسبیدگی مجازی یا ctrl+shift+2 که برای درج فاصله مجازی بکار میرن، در این ویجت ها درج نمیشن. البته میشه با بررسی تک تک رویدادهای صفحه کلید، این مشکل رو حل کرد که البته کار نسبتا پر دردسری است.
یک مشکل دیگه هم استفاده از کاراکتر "کشیده یا همون shift + j هست که تحت هیچ شرایطی ندیدم که این ویجت ها بتونن درست نمایش بدنش. مثلا "ســـلام" رو به این شکل نشون میدن: "س‌---لام"

البته درستش اینه که بگم من از pyQt استفاده کردم و نه Qt. حالا سؤال من اینه که آیا این دو مورد، مشکلِ pyQt هست یا مشکل خود Qt و اگر مشکل Qt هست، راه حل مناسبی هم داره یا نه؟

حامد مصافی
دوشنبه 18 آبان 1394, 16:30 عصر
من در لینوکس و ویندوز با کیبورد استاندارد فارسی مشکلی از این بابت ندارم. به نظرم بهتره چینش کیبورد رو به فارسی استاندارد تغییر بدید.

ASedJavad
دوشنبه 18 آبان 1394, 18:27 عصر
من در لینوکس و ویندوز با کیبورد استاندارد فارسی مشکلی از این بابت ندارم. به نظرم بهتره چینش کیبورد رو به فارسی استاندارد تغییر بدید.
ربطی به کیبورد نداره.
شما "ســلام" رو کپی پیست کن ببین درست نشون میده!؟
یا مثلا مینویسید "می" + alt+0157+ "رفت؛ نشون میده "می‌رفت" ؟
اعداد که دیگه ربطی به صفحه کلید فارسی استاندارد و ... نداره.
بگذریم از اینکه صفحه کلیدم فارسی استاندارد هست.
اگه هر دو مورد رو درست نشون میده، لطف کن و بگو از کدوم ورژن Qt استفاده میکنی
چون تو یه فرومی یکی نوشته بود تو بعضی نسخه هاش درست نشون میده!

کامبیز اسدزاده
دوشنبه 18 آبان 1394, 19:36 عصر
ربطی به کیبورد نداره.
شما "ســلام" رو کپی پیست کن ببین درست نشون میده!؟
یا مثلا مینویسید "می" + alt+0157+ "رفت؛ نشون میده "می‌رفت" ؟
اعداد که دیگه ربطی به صفحه کلید فارسی استاندارد و ... نداره.
بگذریم از اینکه صفحه کلیدم فارسی استاندارد هست.
اگه هر دو مورد رو درست نشون میده، لطف کن و بگو از کدوم ورژن Qt استفاده میکنی
چون تو یه فرومی یکی نوشته بود تو بعضی نسخه هاش درست نشون میده!

سلام

متاسفانه کامپایلر MSVC به طور پیشفرض به خوبی از استاندارد utf-8 پشتیبانی نمیکند، جناب مصافی به این دلیل مشکلی ندارند چون کامپایلرشون GCC در محیط لینوکس هست و مشابه اون در ویندوز MinGW به طور کامل کار میکند.
پیشنهاد من اینه از MinGW استفاده کنید و یا اگر میخواهید از همان MSVC استفاده کنید از پیش پردازنده زیر استفاده کنید:


#pragma execution_character_set("utf-8")


من بارها با این مشکل مواجه شدم و با استفاده از این پیش پردازنده در کامپایلر MSVC مشکلم حل شده.

ASedJavad
دوشنبه 18 آبان 1394, 20:06 عصر
سلام

متاسفانه کامپایلر MSVC به طور پیشفرض به خوبی از استاندارد utf-8 پشتیبانی نمیکند، جناب مصافی به این دلیل مشکلی ندارند چون کامپایلرشون GCC در محیط لینوکس هست و مشابه اون در ویندوز MinGW به طور کامل کار میکند.
پیشنهاد من اینه از MinGW استفاده کنید و یا اگر میخواهید از همان MSVC استفاده کنید از پیش پردازنده زیر استفاده کنید:


#pragma execution_character_set("utf-8")


من بارها با این مشکل مواجه شدم و با استفاده از این پیش پردازنده در کامپایلر MSVC مشکلم حل شده.
خب من گفتم از pyQt استفاده میکنم نه Qt. نمیدونم اونجا هم همچین چیزی معنی داره یا نه!

ASedJavad
سه شنبه 19 آبان 1394, 17:23 عصر
سلام

متاسفانه کامپایلر MSVC به طور پیشفرض به خوبی از استاندارد utf-8 پشتیبانی نمیکند، جناب مصافی به این دلیل مشکلی ندارند چون کامپایلرشون GCC در محیط لینوکس هست و مشابه اون در ویندوز MinGW به طور کامل کار میکند.
پیشنهاد من اینه از MinGW استفاده کنید و یا اگر میخواهید از همان MSVC استفاده کنید از پیش پردازنده زیر استفاده کنید:


#pragma execution_character_set("utf-8")


من بارها با این مشکل مواجه شدم و با استفاده از این پیش پردازنده در کامپایلر MSVC مشکلم حل شده.
تو فروم پایتون همین سؤال رو پرسیدم و آقای حمزه ای جواب مبسوطی دادن که البته راه حل توش نیست!
http://barnamenevis.org/showthread.php?512032-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1%D8%AC-%DB%8C%D8%A7-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%DA%A9%D8%A7%D8%B1%D8%A7%DA%A9%D8%AA%D8%B1%D9%87%D 8%A7%DB%8C-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%D8%AF%D8%B1-%D9%88%DB%8C%D8%AC%D8%AA-%D9%87%D8%A7%DB%8C-Qt

negative60
چهارشنبه 20 آبان 1394, 03:17 صبح
مثل اینکه مشکل عمیق تر از این حرفاست و ربطی‌ به کامپایلر نداره اگر تو خود IDE هم این کلمات رو بنویسید می‌بینید که حروف به درستی‌ کنار هم قرار نمیگیرند

علی بهمنی جلالی
یک شنبه 08 آذر 1394, 08:02 صبح
سلام
اشکال کشیدگی در لینک زیر گزارش شده:
https://bugreports.qt.io/browse/QTBUG-35836

0xEHSAN
یک شنبه 06 دی 1394, 16:56 عصر
درود عزیزان مال من نسخه 5.5.1 و MSVC2013 هست بدون دستکاری یا افزودن هیچ تغییری فقط یک مشکل کوچولو داره


http://upload7.ir/u/action?q=download&filename=js64KNCc.PNG

ASedJavad
شنبه 12 دی 1394, 23:04 عصر
درود عزیزان مال من نسخه 5.5.1 و MSVC2013 هست بدون دستکاری یا افزودن هیچ تغییری فقط یک مشکل کوچولو داره


http://upload7.ir/u/action?q=download&filename=js64KNCc.PNG
بله؛ این هم مشکلیه که تو ورژن های جدیدتر pyQt هم مشاهده میشه که متون فارسی رو تو QLabel ها و امثالهم، ناقص نشون میده.
من برا حل این مشکل، معمولا یک یا دو فاصله خالی به ته نوشته اضافه میکنم.