اطلاعیه

Collapse
No announcement yet.

چطور GUI رو با m. ارتباط بدم؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    چطور GUI رو با m. ارتباط بدم؟

    من برای یه فایل m. که از قبل داشتم یه GUI طراحی کردم که یک push botton داره.
    فایل m. ام به این صورته که به محض فراخوانی پنجره Browse باز میشه و میتونی یه عکس رو برای نمایش از تو هارد انتخاب کنی.

    حالا می خوام اینو ربطش بدم به فایل m. ام. یعنی با زدن اون دکمه پنجره باز شه


    ممنون میشم سریعتر راهنمایی کنید
    با تشکر


    #2
    پاسخ : چطور GUI رو با m. ارتباط بدم؟

    روی button کلیک راست کن و برای رویداد کلیک شدنش یه تابع call back ایجاد کن . یه m فایل همنام با فایل fig باز میشه. حالا تو این تابع call back کدی رو که میخوای اجرا بشه بنویس

    دیدگاه


      #3
      پاسخ : چطور GUI رو با m. ارتباط بدم؟

      خب من همون کد رو میخوام یعنی کدی که بتونه با فشار دکمه اون m. رو فراخونی کنه!

      دیدگاه


        #4
        پاسخ : چطور GUI رو با m. ارتباط بدم؟

        دوستان کسی در مورد GUI اطلاعاتی نداره؟؟!!! من سوال دارم :angry: :angry:

        دیدگاه


          #5
          پاسخ : چطور GUI رو با m. ارتباط بدم؟

          نوشته اصلی توسط L E N A
          دوستان کسی در مورد GUI اطلاعاتی نداره؟؟!!! من سوال دارم :angry: :angry:
          ببین دوست من شما اون کدی که می خوای اجرا بشه رو در رویداد کلیک شدنش buttonآ‌ بنویس و دیگه m فایل قبلی رو بذار کنار که دیگه نیازی به فراخونی اون نباشه

          دیدگاه


            #6
            پاسخ : چطور GUI رو با m. ارتباط بدم؟

            شاید من نمیتونم منظورم رو خوب بیان کنم!!!

            ببینید من نمیدونم چه کدی برای فراخوانی یه mفایل از طریق یه push button باید بنویسم!! نه اینکه کجا کد رو بنویسم


            دیدگاه


              #7
              پاسخ : چطور GUI رو با m. ارتباط بدم؟

              سلام
              پاسخ mojalan درسته
              روی دکمه فشاری کلیک راست کنید و view callback-> callback رو انتخاب کنید. با اینکار matlab به شکل خودکار کدی رو تولید میکنه که حاوی یک تابع است. هر بار که شما اون دکمه رو فشار بدید اون تابع اجرا میشه. اما این تابع خالیه و هیج کاری انجام نمیده
              تابعی که matlab تولید میکنه اسمش pushbuttunname_callback هست
              تا اینجای کار شما هیچ کدی ننوشته اید و فقط یک تابع دارید که خالیه
              حالا تنها کاری که باید انجام بدید اینه که نام mفایل رو در زیر خط تعریف اون تابع بنویسید



              دیدگاه


                #8
                پاسخ : چطور GUI رو با m. ارتباط بدم؟

                نوشته اصلی توسط BlueApple
                حالا تنها کاری که باید انجام بدید اینه که نام mفایل رو در زیر خط تعریف اون تابع بنویسید
                ممنون من کاری که گفتین کردم ولی این ارور رو میده :

                دیدگاه


                  #9
                  پاسخ : چطور GUI رو با m. ارتباط بدم؟

                  سلام
                  خطایی که ازتون گرفته :
                  undefined variable "tamrin"
                  علتش اینه که فایل tamrin.m رو ندیده
                  شما فایل tamrin.m رو باید در دایرکتوری جاری matlab کپی کنید.
                  برای دونستن اینکه دایرکتوری جاری کجا هست ابتدا دستور cd رو در پنجره اصلی matlab اجرا کنید. ادرسش رو بهتون میده
                  ضمنا نام mfile رو بدون m. بنویسید

                  دیدگاه


                    #10
                    پاسخ : چطور GUI رو با m. ارتباط بدم؟

                    ممنون از همه دوستان بابت راهنمایی های مفیدشون و یه تشکر ویژه از جناب BlueApple
                    موضوع به نتیجه رسید


                    امیدوارم موفق باشید

                    دیدگاه


                      #11
                      فایل آموزشی درباه gui در متلب ..

                      با سلام ... :smile:

                      من هم یه فابل آموزشی درباره gui تو نت دیدم که اینجا میزارم ...

                      http://www.4shared.com/document/ogOkKoXE/gui.html

                      مصادیق اظهار محبت به همسر
                      بررسی مسائل جنسی در زندگی زناشویی(فایل صوتی)
                      ویژگی های خانواده سالم - مصادیق احترام (فایل صوتی)
                      اثر قصه گویی برای کودکان

                      دیدگاه


                        #12
                        سوال از m فایل

                        سلام .... :smile:

                        من هم یه چند تا سوال از m فایلی که بعد از ذخیره gui به صورت اتوماتیک تولید میشه دارم ....



                        این یه قسمت از m فایل هست که متلب بعد از ذخیره درست گرده که تقریبا فکر کنم توی همه فایل هایی که با gui درست میکنیم یکی هست . حالا همون طور که مشخصه یه ساختار به نام gui_state تعریف شده اولین عضو این ساختار یعنی mfilename چیه ؟؟ اخه اصلا متغیر نیست چونتا قبل از این ساختار تعریف نشده از طرفی رشته کاراکتری هم نیست چون تو کوتیشن نیست . پس چیه ؟؟
                        این گزینه دوم هم که از قبل مقدار دهی شده اما چرا با عدد یک ؟؟؟؟
                        اصلا چیه یه توضیحاتی بالای همین دستور داده بود اما درست متوجه نشدم
                        دو تای بعد که function handle یا دستگیره تابع هست که مشکلی نیست اخری ها هم که تهی شده اند این هم مشکلی نیست ....
                        اون if چی کار میکنه !! من همه دستورات رو میدونم اما نمیدونم نییجه نهایی چی میشه !!!خوب varargin در واقع یه ارایه سلولی هیست برا ی توابعی که میخوایم لیست ارگومان های وردی متغیر باشه استفاده میکنیم که در هر سلول اون یکی از ارگومان ها قرار میگیره . حالا چرا این جا تاکییدش فقط روی اولین عنصر از تابعی که ما نوشتینم بود ؟؟؟مگه اولین ارگومان چیه ؟؟

                        من اولین برنامه ای که داخل این m فایل بالا بود رو نوشتم اما همه اش error میده نمیدونم عیبش چیه ؟؟ خودم زیاد باهاش ور رفتم اما به نتیجه نرسیدم ...هدف از برنامه هم این بود که یه pushbutton هست و یه text فیلد که با هر بارکلیک روی pushbutton ؛ میزان کلیک ها شمرده میشه و روی text فیلد نمایش داده میشه !!

                        http://www.4shared.com/file/qJ4g9yof/MATLAB.html

                        مصادیق اظهار محبت به همسر
                        بررسی مسائل جنسی در زندگی زناشویی(فایل صوتی)
                        ویژگی های خانواده سالم - مصادیق احترام (فایل صوتی)
                        اثر قصه گویی برای کودکان

                        دیدگاه


                          #13
                          پاسخ : چطور GUI رو با m. ارتباط بدم؟

                          با سلام

                          ...
                          function btn_Callback(hObject, eventdata, handles)
                          s = get(hObject,'string'
                          n = str2num(s);
                          s_new = num2str(n+1);
                          set(hObject,'string',s_new)
                          http://www.4shared.com/office/wspNnTsI/AMUZESH_JAMEE_MATLAB.html

                          دیدگاه


                            #14
                            پاسخ : چطور GUI رو با m. ارتباط بدم؟

                            نوشته اصلی توسط متلب
                            با سلام

                            ...
                            function btn_Callback(hObject, eventdata, handles)
                            s = get(hObject,'string'
                            n = str2num(s);
                            s_new = num2str(n+1);
                            set(hObject,'string',s_new)
                            سلام.... :smile:

                            با تشکر از پاسختون ... :agree:

                            ببخشید من این کدی رو که شما گذاشتید رو بجز خط اول مابقی رو در داخل تابع call back مربوط به pushbutton1 (تو برنامه من اسم tag رو این گذاشتم ) یا همون btn شما گذاشتم با توجه به کد شما گویا هدفتون این بوده که با هر بار کلیک روی btn ؛ روی همون میزان شمارش کلیک ها هم نوشته بشه .... ولی خوب صورت مسئله من یه چیز دیگه بود من میخواستم روی یه text fiel میزان شمارش نوشته بشه یه چیزی مثل شکل زیر ...


                            در هر صورت خیلی مهم نیست .... اما در رابطه با کدی که نوشتید یه مشکل وجود داره ..البته ببخشید ها . و انون این هست که با زدن btn در واقع هر متنی که برا یstring ؛ پوش باتن از قبل در نظر گرفته بودید پاک میشه .. البته دلیلش هم مشخصه ..

                            من کدی رو که داخل خود پی دی اف دوتا پست قبل تر بود هم نوشتم کد درسته اما نمیدونم چرا error میده این هم کدش :


                            البته فایل رو هم دوتا پست قبل تر پلود کردم ...در ضمن myfirsttext اسم tag مربوط text field هست .

                            به نظر شما مشکلش از چیه ؟؟؟!!!

                            یه سوال دیگه هم داشتم .... میخواستم بدونم فضای کاری که متلب برای gui در نظر میگیره کجاست ؟؟؟؟ میتونم پنجره اش رو بیارم ؟؟ .منظورم این هست که متغیر ها ش که توی تابع call back ها هست کجا میره ؟؟؟ میخوام محتویات متغیر ها رو ببینم ...اخه به نظرم با فضای کاری اصلی یکی نیست ..من امتحان کردم نبود ...
                            مصادیق اظهار محبت به همسر
                            بررسی مسائل جنسی در زندگی زناشویی(فایل صوتی)
                            ویژگی های خانواده سالم - مصادیق احترام (فایل صوتی)
                            اثر قصه گویی برای کودکان

                            دیدگاه


                              #15
                              پاسخ : چطور GUI رو با m. ارتباط بدم؟

                              سلام
                              علت error اینه که c تعریف نشده
                              در تابع OpeningFcn کد زیر رو بنویسید:
                              کد:
                              global c
                              c = 0;
                              این تابع قبل از پدیدار شدن پنجره اجرا میشه و بهترین مکان برای تعریف اولیه متغیرهاست. با اینکار شما متغیر c رو به عنوان یک متغیر عمومی تعریف میکنید یعنی امکان دست یافتن به مقدارش رو برای تمام توابع فراهم میکنید.
                              حالا در ابتدای تابع PushButton کد زیر رو بنویسید تا این تابع هم متوجه بشه که c یک متغیر عمومی است
                              کد:
                              global c
                              اون if ای که تهی بودن c رو چک میکنه رو هم پاک کنین چون c هر بار که برنامه رو اجرا کنین برابر صفر است
                              و احتمالا دیگه error نمیده

                              دیدگاه

                              لطفا صبر کنید...
                              X