Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Persian
  4. تغییر جهت QTableWidget
Forum Updated to NodeBB v4.3 + New Features

تغییر جهت QTableWidget

Scheduled Pinned Locked Moved Persian
11 Posts 3 Posters 5.0k 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}. سلام
    میخوام جهت 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 بسازم؟؟؟

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

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

      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}. این یک جدول 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 مربوط به جهت جدول هست یا وارد کردن داده ها؟

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

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

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

            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 جدول هست که اون هم جدول رو خراب میکنه. استقاده از خط سوم هم فرقی نداره.

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

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

              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}. از چیز دیگه ای به عنوان جدول استفاده نمیکنم. خودتون که در جریان هستید چقدر دنبالش گشتم! دقیقا همون چیزیه که میخواستم.
                دوباره امتحان کردم. یک پروژه Qt Gui Application ساختم و یک QTableWidget واردش کردم. تعدادی از سلول ها رو پر کردم و جهت جدول رو هم راست به چپ تنظیم کردم.
                باز هم همونطور شد! عجیبه که برای شما مشکلی نداره
                البته در حالت استایل عادی کمتر مشخصه! خودم هم اول فکر کردم مشکلی نداره ولی خوب که دقت کردم دیدم حاشیه سمت راست سلول ها رنگ نمیشه و بعد از چند مرتبه قسمتی از سلول فبلی رنگی باقی میمونه!

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

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

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

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

                    Qt 4.8.4
                    MinGW 4.4

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

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

                      [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 عوض می‌کنم و ویجت جهت راست‌به‌چپ داره، دچار مشکل میشه موقع رندر. وقتی جهت کل فرم رو عوض می‌کنم و ویجت جهت رو به‌ارث می‌بره مشکلی وجود نداره.

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

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

                        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