تغییر جهت QTableWidget



  • p{direction:rtl; text-align:right;font-family:tahoma}. سلام
    میخوام جهت QTableWidget رو تغییر بدم. از این دستور استفاده کردم:
    @qw->setLayoutDirection(Qt::RightToLeft);@

    p{direction:rtl; text-align:right;font-family:tahoma}. اما جدول رو خراب کرد! تصویر:
    !http://img.ir/nrm.gif(تصویر)!
    حاشیه سمت راست جدول رفته - وقتی سلولی رو انتخاب میکنم، قسمت سمت راست سلول قبلی رنگی میمونه - سلول انتخاب شده کامل رنگ نمیشه و سمت راستش خالیه.
    استایلی که تنظیم کرده بودم رو هم برداشتم اما تغییری نکرد. :(
    مثل اینکه این کد مشکل داره! راه دیگه ای برای تغییر جهت جدول هست؟
    از طریق StyleSheet میشه؟

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



  • p{direction:rtl; text-align:right;font-family:tahoma}. دقیقاً بگو می‌خوای چی‌کار کنی؟
    چرا از Item Delegate استفاده نمی‌کنی؟
    چرا می‌خوای از OpenGL یا QGraphicsView استفاده کنی؟
    چه دلیل خاصی برای استفاده از css هست؟



  • p{direction:rtl; text-align:right;font-family:tahoma}. این یک جدول QTableWidget ساده هست. QGraphics یا OpenGL استفاده نکردم.
    هیچ کد خاصی ننوشتم! تنها هدفم اینه که جدول راست به چپ بشه که بتونم به ترتیب شماره داده ها رو وارد کنم.
    از StyleSheet استفاده کردم تا رنگ hover و Selected جدول رو تغییر بدم اما این ربطی به ایجاد این مشکل نداره!
    آخرین تستی که کردم این بود که از طریق کد نویسی یک جدول از QTableWidget ایجاد کردم و این کد رو برای راست به چپ شدنش نوشتم:
    @QTableWidget *qw = new QTableWidget(6,7,this);
    qw->setLayoutDirection(Qt::RightToLeft);@

    p{direction:rtl; text-align:right;font-family:tahoma}. از اول این مشکل رو داره! خودتون امتحان کنید. از Qt 4.8.4 استفاده میکنم.

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



  • p{direction:rtl; text-align:right;font-family:tahoma}. توی کیوت چهار ویجت‌هایی که به‌تنهایی جهت می‌گیرن اگر ترکیبی باشن (از اجزای کوچیک‌تر تشکیل شده باشه) به مشکل بر می‌خورن. QTableWidget شاید زیادتر مشکل داشته باشه. توی Designer جهت فرم و یا جهت کل برنامه رو راست‌به‌چپ کن.



  • p{direction:rtl; text-align:right;font-family:tahoma}. متاسفانه حل نشد :(
    کد های زیر رو به چندین حالت استفاده کردم:
    @
    qApp->setLayoutDirection(Qt::RightToLeft);
    Widget.setLayoutDirection(Qt::RightToLeft);
    qw->setLayoutDirection(Qt::RightToLeft);
    @

    p{direction:rtl; text-align:right;font-family:tahoma}. خط اول که اصلا تاثیری نداره. خط دوم ویجت Parent جدول هست که اون هم جدول رو خراب میکنه. استقاده از خط سوم هم فرقی نداره.



  • p{direction:rtl; text-align:right;font-family:tahoma}. من امتحان کردم با ۴٫۸٫۴ مشکلی ندارم. حتا با CSS. اگه من بودم اینو با Delegate ها می‌نوشتم. هم ساده‌تر می‌شد هم تمیزتر در میومد.



  • p{direction:rtl; text-align:right;font-family:tahoma}. از چیز دیگه ای به عنوان جدول استفاده نمیکنم. خودتون که در جریان هستید چقدر دنبالش گشتم! دقیقا همون چیزیه که میخواستم.
    دوباره امتحان کردم. یک پروژه Qt Gui Application ساختم و یک QTableWidget واردش کردم. تعدادی از سلول ها رو پر کردم و جهت جدول رو هم راست به چپ تنظیم کردم.
    باز هم همونطور شد! عجیبه که برای شما مشکلی نداره
    البته در حالت استایل عادی کمتر مشخصه! خودم هم اول فکر کردم مشکلی نداره ولی خوب که دقت کردم دیدم حاشیه سمت راست سلول ها رنگ نمیشه و بعد از چند مرتبه قسمتی از سلول فبلی رنگی باقی میمونه!

    p{direction:rtl; text-align:right;font-family:tahoma}. به هرحال ممنون
    یک کد مینوسم که index ها رو invert کنه :|



  • p{direction:rtl; text-align:right;font-family:tahoma}. نسخهٔ کیوت و کامپایلر رو بگو اگه با مال من نمی‌خونه باید باگ ریپورت کنیم. هر چند توسعهٔ نسخهٔ چهار متوقف شده اما بازم میشه توی دیستروها اصلاحش کرد.



  • Qt 4.8.4
    MinGW 4.4

    p{direction:rtl; text-align:right;font-family:tahoma}. کامپایلر هم تاثیر داره؟



  • [quote author="nice_2000" date="1357932703"]Qt 4.8.4
    MinGW 4.4

    p{direction:rtl; text-align:right;font-family:tahoma}. کامپایلر هم تاثیر داره؟[/quote]

    p{direction:rtl; text-align:right;font-family:tahoma}. قاعدتاً نه. نباید تأثیری داشته باشه. به‌علاوه این که نسخهٔ کیوت و کامپایلر عین مال منه. من وقتی رنگ Hover رو با CSS عوض می‌کنم و ویجت جهت راست‌به‌چپ داره، دچار مشکل میشه موقع رندر. وقتی جهت کل فرم رو عوض می‌کنم و ویجت جهت رو به‌ارث می‌بره مشکلی وجود نداره.



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


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.