Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Persian
  4. وراثت
QtWS25 Last Chance

وراثت

Scheduled Pinned Locked Moved Persian
31 Posts 3 Posters 15.2k Views
  • 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
    mohsen
    wrote on last edited by
    #9

    p{direction:rtl; text-align:right}. بطور کلی به هیچ یک از اشیاء private یک کلاس نمیشه دسترسی داشت ولی با پیاده سازی یک slot public میشه به اونها اطلاعات push کرد و یا گرفت. چیزی شبیه به setter و getter ها

    1 Reply Last reply
    0
    • B Offline
      B Offline
      bs994
      wrote on last edited by
      #10

      @Mohsen : TNX

      Real Eyes Realize Real Lies .

      1 Reply Last reply
      0
      • S Offline
        S Offline
        silver
        wrote on last edited by
        #11

        p{direction:rtl; text-align:right}. ممنون محسن جان
        مصطفی جان ممنون بابت کدت اما نتونستم کامپایلش کنم میشه کد رو برام آپلود کنی؟

        p{direction:rtl; text-align:right}. توی این خط

        @class myform : public QWidget , public Ui_Form@

        p{direction:rtl; text-align:right}. خطا داشتم که با این جایگزینش کردم
        @class myform : public QWidget , public Ui_myform@

        p{direction:rtl; text-align:right}. این رو هم نفهمیدم
        @myform::myform( QWidget *parent, Qt::WindowFlags f ) :
        QWidget( parent, f )@

        p{direction:rtl; text-align:right}. اون f چیه

        Linus Torvalds –
        Software is like sex: it’s better when it's free.

        1 Reply Last reply
        0
        • B Offline
          B Offline
          bs994
          wrote on last edited by
          #12

          p{direction:rtl; text-align:right}. علی من کد و تو ویندوز نوشتم
          کلا باید برای این کار اون عضوی که می خوای مثلا member1 که تو کلاس دومی هست باید public باشه تا بتونی از طریق کلاس دیگه بهش دسترسی داشته باشی

          Real Eyes Realize Real Lies .

          1 Reply Last reply
          0
          • S Offline
            S Offline
            silver
            wrote on last edited by
            #13

            p{direction:rtl; text-align:right}. ممنون عزیزم
            فقط نگفتی کار اون f و public Ui_Form چیه

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

            Linus Torvalds –
            Software is like sex: it’s better when it's free.

            1 Reply Last reply
            0
            • B Offline
              B Offline
              bs994
              wrote on last edited by
              #14

              p{direction:rtl; text-align:right}.
              https://github.com/bs994/example1
              اینجا سورس اصلی رو اپ کردم
              Public Ui_Form :
              اونو واسه این گذاشته بودم که بتونم از تو کلاس mainWindow به ویجت های کلاس فرمم دسترسی مستقیم داشته باشم
              QT::WindowFlags :
              http://doc.qt.nokia.com/4.7-snapshot/widgets-windowflags.html

              Real Eyes Realize Real Lies .

              1 Reply Last reply
              0
              • S Offline
                S Offline
                silver
                wrote on last edited by
                #15

                p{direction:rtl; text-align:right}. ممنون بابت آپلود کد
                مگه اسم کلاست myform نبود پس چرا از Ui_myform استفاده نکردی؟ این همون خطاییه که به من داد

                Linus Torvalds –
                Software is like sex: it’s better when it's free.

                1 Reply Last reply
                0
                • B Offline
                  B Offline
                  bs994
                  wrote on last edited by
                  #16

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

                  Real Eyes Realize Real Lies .

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    silver
                    wrote on last edited by
                    #17

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

                    Linus Torvalds –
                    Software is like sex: it’s better when it's free.

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      silver
                      wrote on last edited by
                      #18

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

                      p{direction:rtl; text-align:right}. البته این کارها رو کردم ولی به نتیجه ای نرسیدم
                      اول توی MainWindow یه اسلات برای تغییر متن دکمه گذاشتم
                      بعد یه سیگنال کلیک برای لیبل توی myForm که همون ویجت دوم باشه تعریف کردم

                      p{direction:rtl; text-align:right}. این که کار نمیده
                      Mainwindow::changeBtnText();

                      p{direction:rtl; text-align:right}. نمیشه هم دوباره توی myForm یه شیء جدید از MainWindow ساخت.

                      Linus Torvalds –
                      Software is like sex: it’s better when it's free.

                      1 Reply Last reply
                      0
                      • B Offline
                        B Offline
                        bs994
                        wrote on last edited by
                        #19

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

                        Real Eyes Realize Real Lies .

                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          silver
                          wrote on last edited by
                          #20

                          p{direction:rtl; text-align:right}. خب من از راه سیگنال و اسلات تونستم یه کارایی بکنم
                          باید توی فرم اول یه ارتباط برقرار کنم بین یه سیگنال از فرم دوم و یه اسلات از فرم اول
                          این طوری هم متغیرها private میمونن و هم نیازی نیست دوباره توی فرم دوم یه شیء از فرم اول بسازیم

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

                          p{direction:rtl; text-align:right}. مصطفی جان میشه یه نگاهی بهش بندازی؟
                          http://www.mediafire.com/?foc7ybfxrkw08fu

                          Linus Torvalds –
                          Software is like sex: it’s better when it's free.

                          1 Reply Last reply
                          0
                          • B Offline
                            B Offline
                            bs994
                            wrote on last edited by
                            #21

                            p{direction:rtl; text-align:right}.
                            برنامه دیدم خطاش Segmention fault ئه
                            خط 4 و 5 فایل options.cpp رو به این تغییر بده
                            @
                            Options::Options(QWidget *parent) :
                            QDialog(parent) , ui(new Ui::Options )
                            @

                            p{direction:rtl; text-align:right}.
                            مشکل حل میشه
                            در ضمن تو options.h اینا اضافن
                            @ QPushButton *okButton;
                            QPushButton *cancelButton;
                            QGroupBox *gBoxTurn;
                            QGroupBox *gBoxMode;
                            QRadioButton *cpuRadio;
                            QRadioButton *playerRadio;
                            QRadioButton *p2pRadio;
                            QRadioButton *p2cRadio;
                            QVBoxLayout *topLayout;
                            QHBoxLayout *downLayout;
                            QVBoxLayout *layout;
                            QVBoxLayout *modeLayout;
                            QVBoxLayout *turnLayout;@

                            Real Eyes Realize Real Lies .

                            1 Reply Last reply
                            0
                            • B Offline
                              B Offline
                              bs994
                              wrote on last edited by
                              #22

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

                              Real Eyes Realize Real Lies .

                              1 Reply Last reply
                              0
                              • S Offline
                                S Offline
                                silver
                                wrote on last edited by
                                #23

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

                                p{direction:rtl; text-align:right}. دیر رسیدم باز بحثی شد خبرم کن
                                gTalk:hitman2c47
                                yahooID:hitman2_c47

                                Linus Torvalds –
                                Software is like sex: it’s better when it's free.

                                1 Reply Last reply
                                0
                                • S Offline
                                  S Offline
                                  silver
                                  wrote on last edited by
                                  #24

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

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

                                  Linus Torvalds –
                                  Software is like sex: it’s better when it's free.

                                  1 Reply Last reply
                                  0
                                  • B Offline
                                    B Offline
                                    bs994
                                    wrote on last edited by
                                    #25

                                    p{direction:rtl; text-align:right}. باید عضو هایی که می خوان تغییر کنند public باشند و شی بسازی یا اگه می بینی که زیاد داره از اصول مهندسی نرم افزار خارج میشه
                                    همه رو تو یک کلاس بنویس یا از وراثت استفاده کن و اعضا رو protected بزار کلاس دومی اونا را ارث ببره
                                    علی جان یه خورده وقت می بره بخوام کامل کنم سعیمو میکنم تا فردا یه سورس هم بذارم

                                    Real Eyes Realize Real Lies .

                                    1 Reply Last reply
                                    0
                                    • S Offline
                                      S Offline
                                      silver
                                      wrote on last edited by
                                      #26

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

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

                                      Linus Torvalds –
                                      Software is like sex: it’s better when it's free.

                                      1 Reply Last reply
                                      0
                                      • B Offline
                                        B Offline
                                        bs994
                                        wrote on last edited by
                                        #27

                                        p{direction:rtl; text-align:right}. علی جان مسئله وقت نیست (من نه دانشگاه میرم نه به طور جدی کار می کنم پشت کنکوری ام دعا کنید :D) خوشحال میشم کمکی کرده باشم
                                        مشکل اینه که لپ تاپم دست کسیه
                                        ببین با توجه به برنامه ای که من دیدم بهتر کلا کلاس Option رو حذف کنی و بیاریش تو کلاس mainWindow چون اصلا نیازی نیست یه فرم از پیش طراحی شده رو بیاری تو کدات
                                        تو کلاس mainWindow بیا یه action برای وقتی که از منو ها options کلیلک شد درست کن و تو اون فرم رو بساز اعضاشم همونایی که تو options.h بود گفتم اضافین اونارو بزار و به اعضای mainWindow اضافه کن اون وقت متغیر هایی که جز mainwindow هستند براحتی توسط فرم جدید options که در حین برنامه ساخته شده تغیر داده میشند.
                                        یعنی کافیه جای کلاس یهQWidget اضافه کنی و اونو نمایش بدی
                                        هم از نظر TimeComplexity و هم از نظر memoryComplexity نسبت به قبلیا بهتر میشه

                                        Real Eyes Realize Real Lies .

                                        1 Reply Last reply
                                        0
                                        • B Offline
                                          B Offline
                                          bs994
                                          wrote on last edited by
                                          #28

                                          [quote author="silver" date="1336217963"] انشاءلله لینوکس رو شروع کنی ما توی فروم لینوکس جبران کنیم :)[/quote]

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

                                          Real Eyes Realize Real Lies .

                                          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