Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Persian
  4. سوال در qtableview

سوال در qtableview

Scheduled Pinned Locked Moved Persian
17 Posts 4 Posters 8.1k 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.
  • M Offline
    M Offline
    moji_helooo
    wrote on last edited by
    #1

    p{direction:rtl; text-align: right}. من تازه کارم. هیچ راهی نیست به صورت گرافیکی تعداد ستون ها و عنوانشون رو در tableview انجام بدیم؟ من دیدم چطور با کد این کارو انجام بدیم ولی اون کد رو باید تو کودوم فایل بزنیم و توی چه تابعی باشه؟ نمی خوام تعداد و عنوان ستون ها در صورت یک رخداد تعیین بشه می خوام تا برنامه اجرا می شه از همون اول ستون ها و عنواناش معلوم باشه. می شه یه توضیحی کامل در این مورد بهم بدید؟
    مرسی

    1 Reply Last reply
    0
    • M Offline
      M Offline
      mohsen
      wrote on last edited by
      #2

      p{direction: rtl; text-align: right}. خوش اومدی.
      اینکار رو فقط میتونی با کد انجام بدی. این رو هم در نظر داشته باش که خود Qt Designer هم برای هر کاری کد تولید میکنه. بنابر این سعی کن کلا توی کیوت به کد ها مسلط باشی.
      در مورد سوالت این کار رو باید بعد از نمایش اطلاعات انجام بدی. یعنی اگر setModel رو استفاده کردی بعد از اون باید با استفاده از setHeaderData ستون ها رو مشخص کنی

      1 Reply Last reply
      0
      • A Offline
        A Offline
        absfrm
        wrote on last edited by
        #3

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

        If You Want You Can!

        1 Reply Last reply
        0
        • M Offline
          M Offline
          mohsen
          wrote on last edited by
          #4

          p{direction: rtl; text-align: right}. سلام عباس جان خوبی؟ نبودی چند وقت!
          آره متاسفانه. حق با تو ِ

          1 Reply Last reply
          0
          • A Offline
            A Offline
            absfrm
            wrote on last edited by
            #5

            p{direction: rtl; text-align: right}. سلام
            آره عزیز.دلم واستون تنگ شده بود :)
            درگیر یه سری مشکلات زندگی و دانشگاه و اقامت و .... :D البته از یه سری خیلی بیشتر شد
            راستی اون پروژت به کجارسید که؟http://qte.ir

            If You Want You Can!

            1 Reply Last reply
            0
            • M Offline
              M Offline
              mohsen
              wrote on last edited by
              #6

              p{direction: rtl; text-align: right}. اقامت؟ مگه رفتی از ایران؟
              qte رو خیلی کار کردیم روش ولی نصفه مونده. با php کار کردی؟ وضعیت وقتت چجوریه؟ میتونی کمکم کنی؟

              1 Reply Last reply
              0
              • A Offline
                A Offline
                absfrm
                wrote on last edited by
                #7

                [quote author="Mohsen" date="1351595839"] اقامت؟ مگه رفتی از ایران؟
                qte رو خیلی کار کردیم روش ولی نصفه مونده. با php کار کردی؟ وضعیت وقتت چجوریه؟ میتونی کمکم کنی؟[/quote]

                p{direction: rtl; text-align: right}. هنوز نه ولی تا سال آینده میرم واسه دانشگاه.الان وضعیت ایران از اتیوپی هم بدتره! :D

                p{direction: rtl; text-align: right}. php که بلدم.دارم روی یه cms کار میکنم و از صفر مینویسم
                وقتم خیلی خالی نیست ولی میتونم کمک کنم حتما
                من در خدمتم :-)

                If You Want You Can!

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  mohsen
                  wrote on last edited by
                  #8

                  p{direction: rtl; text-align:right}. خیلی هم خوب.
                  ممنونم ازت. اکانت یاهو یا فیس بوک یا ایمیل فعالت رو میتونی برام ایمیل کنی؟
                  mohsen@madagon.com
                  منتظرم

                  1 Reply Last reply
                  0
                  • A Offline
                    A Offline
                    absfrm
                    wrote on last edited by
                    #9

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

                    If You Want You Can!

                    1 Reply Last reply
                    0
                    • D Offline
                      D Offline
                      dlfo
                      wrote on last edited by
                      #10

                      [quote author="moji_helooo" date="1351385000"]من تازه کارم. هیچ راهی نیست به صورت گرافیکی تعداد ستون ها و عنوانشون رو در tableview انجام بدیم؟ من دیدم چطور با کد این کارو انجام بدیم ولی اون کد رو باید تو کودوم فایل بزنیم و توی چه تابعی باشه؟ نمی خوام تعداد و عنوان ستون ها در صورت یک رخداد تعیین بشه می خوام تا برنامه اجرا می شه از همون اول ستون ها و عنواناش معلوم باشه. می شه یه توضیحی کامل در این مورد بهم بدید؟
                      مرسی[/quote]

                      p{direction:rtl; text-align: right}. جدا کردن طراحی رابط گرافیکی نه تنها بد نیست، بلکه می‌تونه در طراحی و پیاده‌سازی نرم‌افزار بسیار کمک کننده باشه و از مشکلات زیادی جلوگیری کنه.
                      بنابراین از Qt-Ethiopia که بگذریم، شما می‌تونید این کار رو در Designer انجام بدید. اگر نصب براتون سخته، می‌تونید از Qt SDK و محیط تولید Qt Creator استفاده کنید که در اون‌جا می‌تونید تعداد سطر و ستون اولیه رو به سادگی تنظیم کنید.

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        mohsen
                        wrote on last edited by
                        #11

                        p{direction: rtl; text-align: right}. دی ال فو عزیز (اسمتون رو نمیدونم)
                        میشه توضیح بدی که چطوری نام ستون ها رو در QtDesigner تغییر بدیم؟ یعنی تابحال اینکارو کردی؟

                        p{direction: rtl; text-align: right}. راستی اگر عضو گروه Qt-Iran بشی راحت تر میتونم از post های جدیدت باخبر بشم
                        http://qt-project.org/groups/qt_iran/

                        1 Reply Last reply
                        0
                        • D Offline
                          D Offline
                          dlfo
                          wrote on last edited by
                          #12

                          [quote author="Mohsen" date="1351671670"]دی ال فو عزیز (اسمتون رو نمیدونم)
                          میشه توضیح بدی که چطوری نام ستون ها رو در QtDesigner تغییر بدیم؟ یعنی تابحال اینکارو کردی؟[/quote]

                          p{direction: rtl; text-align: right}. اگر اصرار به این باشه که از جدول model-based یعنی QTableview استفاده بشه، نمی‌دونم به غیر کد کار دیگه می‌شه کرد یا خیر.
                          اما اگر از جدول Item-based یعنی QTableWidget استفاده بشه که مدل پیش‌گزیده داره، به راحتی می‌شه تعداد آيتم‌ها را در Qt Designer تنظیم و آن‌ها را ویرایش کرد. بدین صورت خواسته ایشون برآورده می‌شه که گفته بود: «می خوام تا برنامه اجرا می شه از همون اول ستون ها و عنواناش معلوم باشه» و در ضمن به صورت گرافیکی این کار انجام بشه.
                          کافیه در Qt Designer روی جدول کلیک راست کرده و Edit Items را انتخاب کنید و به تعداد لازم، سطر و ستون اضافه کرده و عنوان آن‌ها را تنظیم کنید.

                          1 Reply Last reply
                          0
                          • M Offline
                            M Offline
                            moji_helooo
                            wrote on last edited by
                            #13

                            p{direction:rtl; text-align: right}. اولا خیلی ممنون از پاسخ هاتون و خوش به حالتون که شما از راست به چپ می نویسید ولی من بلد نیستم اینجا چطور این کا رو کنم حالا مهم نیست.
                            دوم اینکه اگر زحمتتون نیست به من بگید چطوری با کد من سطر و ستون بسازم و احتمالا باید توی تابع سازنده ی مین ویندوز بنویسم یا اگر غیر از اینه بگید کجا. من دیدم نمونه کد هاش رو ولی چیزی ازش نفهمیدم.
                            سوم در مورد qtablewidgetمن تونستم ستون هاش رو بیشتر کنم اما دو مشکل داشت. اول اینکه نام ستون هاش ۱،۲،۳ و الی آخر بود و نمی شد عنوانش رو خودمون تعیین کنیم. و دوم اینکه سایز افقی ستون ثابت بود و چیزی ندیدم که تغییرش بدیم یا تنظیماتی باشه که به طور خودکار تنظیم بشه یا فقط ما بهش ماکسیمم مینیمم بدیم. البته من این کارا رو توی qt-creator
                            کردم نه توی qt-designer و مطلب بعدی اینکه هر چی بیشتر یاد می گیرم واقعا از برنامه نویسی لذت بیشتری می برم مخصوصا تو این محیط. کاش استادای ما همش پروژه بدن.
                            ‌:-)

                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              mohsen
                              wrote on last edited by
                              #14

                              @moji_helooo:

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

                              @p{direction:rtl; text-align:right}. متن@

                              p{direction:rtl; text-align:right}. فقط دقت کن که حتما بعد از نقطه یک فاصله بدی.

                              p{direction:rtl; text-align:right}. در مورد مشکلت توی constructor اگه تنظیماتت رو set کنی همونطور که میخوای بعد از اجرا شدن برنامه ستون ها حاضر و آماده هستن. تنظیم عنوان ستون ها در واقع باید بر روی مدل انجام بشه بخاطر همین توی designer دنبالش نگرد. ولی برای دادن سایز به ستون ها باید مقادیر رو به QTableView بدی
                              @
                              mymodel->setHeaderData(0, Qt::Horizontal, "Column1", Qt::DisplayRole);
                              mymodel->setHeaderData(1, Qt::Horizontal, "Column2", Qt::DisplayRole);

                              myTreeView->setModel(mymodel);

                              myTreeView->setColumnWidth(0,100);
                              myTreeView->setColumnWidth(1,120);
                              @

                              p{direction: rtl; text-align:right}. برای QTableWidget هم میتونی با استفاده از این کد عنوان هارو مشخص کنی
                              @
                              QStringList hdr;
                              hdr << "Column1" << "Column2";
                              myTreeWidget->setHorizontalHeaderLabels(hdr);
                              @

                              p{direction: rtl; text-align:right}. تست نکردم ولی باید کار کنه

                              1 Reply Last reply
                              0
                              • M Offline
                                M Offline
                                moji_helooo
                                wrote on last edited by
                                #15

                                p{direction:rtl; text-align:right}. my model رو به صورت زیر ساختم توی تابع سازنده.
                                QAbstractItemModel *mymodel;
                                mymodel = new QAbstractItemModel;

                                فقط بجای mytreeview از tableview استفاده کردم. ولی کلا ارور می ده و می گه : cannot allocate an object of abstract type 'QAbstractItemModel' . حالا چه کار کنم؟ بعد چرا برای set کردن لیبل ستون هر سایتی یه کد گذاشته و هیچ کودوم هم نمی تونم به اجرا بذارم.

                                1 Reply Last reply
                                0
                                • M Offline
                                  M Offline
                                  mohsen
                                  wrote on last edited by
                                  #16

                                  p{direction: rtl; text-align: right}. شما document های کیوت رو مطالعه کردید؟
                                  document های کیوت در مورد هر یک از اشیاء بطور کامل توضیح دادن. شما که به تازگی کار با کیوت رو شروع کردید بهتره قبل از استفاده از هر کدوم از اشیاء document اون رو مطالعه کنید تا اطلاعات خوبی کسب کنید.
                                  در مورد مشکلتون این رو در نظر داشته باشید که هر جا که Abstract دیدید به این معنی است که این یک کلاس قابل استفاده نیست. کلاس های Abstract کلاس هایی هستند که باید مشتق شوند و با آن ها کلاس جدیدی ایجاد شود. بطور مثال QAbstractItemModel به شما امکانات ساخت یک model با کاربرد دلخواهتان را می دهد.
                                  اگر در حال حاضر قصد ندارید که یک model بسازید میتونید از مدل های از پیش ساخته شده در کیوت استفاده کنید. برای شروع میتونید بر روی QStandardItemModel مطالعه کنید.
                                  @
                                  QStandardItemModel
                                  @

                                  p{direction:rtl; text-align: right}. Model های پیش ساخته دیگر عبارتند از
                                  @
                                  QSqlQueryModel
                                  QDirModel
                                  QFileSystemModel
                                  QHelpContentModel
                                  QProxyModel
                                  @

                                  1 Reply Last reply
                                  0
                                  • D Offline
                                    D Offline
                                    dlfo
                                    wrote on last edited by
                                    #17

                                    [quote author="moji_helooo" date="1351685670"]سوم در مورد qtablewidgetمن تونستم ستون هاش رو بیشتر کنم اما دو مشکل داشت. اول اینکه نام ستون هاش ۱،۲،۳ و الی آخر بود و نمی شد عنوانش رو خودمون تعیین کنیم. و دوم اینکه سایز افقی ستون ثابت بود و چیزی ندیدم که تغییرش بدیم یا تنظیماتی باشه که به طور خودکار تنظیم بشه یا فقط ما بهش ماکسیمم مینیمم بدیم. البته من این کارا رو توی qt-creator کردم نه توی qt-designer و مطلب بعدی اینکه هر چی بیشتر یاد می گیرم واقعا از برنامه نویسی لذت بیشتری می برم مخصوصا تو این محیط. کاش استادای ما همش پروژه بدن.‌:-)[/quote]

                                    p{direction:rtl; text-align: right}. کافیه دکمه F2 (دکمه معمول rename) را بزنید و برای سطر و ستون‌ها نام مناسب انتخاب کنید.
                                    دوستان وقت می‌گذارند و سعی می‌کنند به سؤالات جواب بدهند، اما واقعاً سؤال در زمینه برنامه‌نویسی و توابع و کلاس‌های مختلف Qt تمامی ندارد! بهترین راه برای استفاده مناسب از فوروم این است که خودتان شروع به خواندن کتاب‌ها و مقالات کنید و اگر به مشکلی برخوردید، سؤال کنید. محیط‌های تولید نرم‌افزاری مثل Qt Creator و Visual Studio آن قدر حرفه‌ای و خوش‌دست هستند که اگر مدتی با آن‌ها کار کنید، نیازی به پرسیدن این سؤال‌ها نخواهید داشت.
                                    بنابراین خواندن کتاب‌ها و مقالات، و تجربه کردن برنامه‌نویسی، خیلی خیلی بهتر از پرسیدن سؤالات ریز می‌تواند به شما کمک کند. وقتی با سیستم مستندات Qt آشنا شوید، می‌بینید که یافتن سؤالات این چنینی زیاد هم سخت نیست.

                                    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