نمایش نتایج 1 تا 5 از 5

نام تاپیک: سوال در رابطه با پیاده سازی تابع exec() در Qt

  1. #1
    کاربر تازه وارد آواتار menosoft
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    جویای کار
    پست
    52

    Question سوال در رابطه با پیاده سازی تابع exec() در Qt

    سلام به همه دوستان ببخشید من یک سوال داشتم
    می خواستم بدونم پیاده سازی تابع exec() در Qt به چه صورت است که هنگامی که برنامه به دستور
    return a.exec() می رسد برنامه به اتمام نمی رسد بسته نمی شود.
    یعنی در این تابع از تایمر استفاده کرده یا اینکه از روش ترد استفاده کرده و یک تابع برگشتی رو کال می کنه . چون تا زمانی که برنامه بسته نشود این تابع خارج نمی شود.



    int main(int argc, char *argv[])
    {
    QApplication a(argc, argv);
    mainWindow w;
    w.show();

    return a.exec();
    }


  2. #2

    نقل قول: سوال در رابطه با پیاده سازی تابع exec() در Qt

    نقل قول نوشته شده توسط menosoft مشاهده تاپیک
    سلام به همه دوستان ببخشید من یک سوال داشتم
    می خواستم بدونم پیاده سازی تابع exec() در Qt به چه صورت است که هنگامی که برنامه به دستور
    return a.exec() می رسد برنامه به اتمام نمی رسد بسته نمی شود.
    یعنی در این تابع از تایمر استفاده کرده یا اینکه از روش ترد استفاده کرده و یک تابع برگشتی رو کال می کنه . چون تا زمانی که برنامه بسته نشود این تابع خارج نمی شود.



    int main(int argc, char *argv[])
    {
    QApplication a(argc, argv);
    mainWindow w;
    w.show();

    return a.exec();
    }

    کلاس QApplication در زمان ایجاد Main Thread GUI را اجرا میکنه به همین علت کنترل برنامه به این نخ واگذار میشود و در صورتی که خروج موفقیت آمیز از این نخ نباشه عددی غیر از صفر توسط متد exec بازگشت داده می شود.

  3. #3
    کاربر تازه وارد آواتار menosoft
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    جویای کار
    پست
    52

    نقل قول: سوال در رابطه با پیاده سازی تابع exec() در Qt

    سلام و ممنونم از پاسختون
    حالا می خوام بدونم چطوری میشه همچین کلاسی رو تو C++‎استاندارد پیاده سازی کرد.

  4. #4

    نقل قول: سوال در رابطه با پیاده سازی تابع exec() در Qt

    سلام دوست عزیز
    میشه هدفتون رو از ‍پیاده سازی تابع exec بگید شاید بتونم بهتر کمکتون کنم؟
    تابع exec یکی از توابع QThread محسوب میشه و اگر هدفتون Subclass کردن و تغییر دادن عملکرد این تابع هست که بایستی یک کلاس که از QThread ارث بری میکند بسازید و سپس تابع exec آنرا پیاده سازی کنید.
    نحوه پیاده سازی تابع exec در مستندات Qt قسمت QThread هستش. در واقع این تابع وظیفه اصلیش صدا زدن تابع run هست که توسط کاربر در thread پیاده سازی شده و وظیفه های خاص خود را انجام میدهد.

    http://doc.qt.io/qt-5/qthread.html
    http://doc.qt.io/qt-5/qthread.html#exec
    مستندات بالا رو بخونید اگه مشکلی داشتید بگید.
    عکس های ضمیمه عکس های ضمیمه

  5. #5

    نقل قول: سوال در رابطه با پیاده سازی تابع exec() در Qt

    نقل قول نوشته شده توسط menosoft مشاهده تاپیک
    سلام و ممنونم از پاسختون
    حالا می خوام بدونم چطوری میشه همچین کلاسی رو تو C++‎‎استاندارد پیاده سازی کرد.
    از QEventLoop استفاده کن

تاپیک های مشابه

  1. پاسخ: 1
    آخرین پست: سه شنبه 22 مهر 1393, 09:40 صبح
  2. سوال: سورس یک برنامه ساده که به صورت موازی پیاده سازی شده
    نوشته شده توسط safatx در بخش الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها
    پاسخ: 0
    آخرین پست: شنبه 28 مرداد 1391, 02:09 صبح
  3. سوال: سوال در زمینه نحوه پیاده سازی اسلایدر و نحوه طراحی قسمت کامنت
    نوشته شده توسط ali_73 در بخش طراحی وب (Web Design)
    پاسخ: 1
    آخرین پست: دوشنبه 29 خرداد 1391, 12:11 عصر
  4. پاسخ: 0
    آخرین پست: سه شنبه 04 مرداد 1390, 14:06 عصر
  5. آزاد سازی منابع پیش از exec
    نوشته شده توسط sh_roohani در بخش توسعه‌ی لینوکس و نرم افزارهای آزاد
    پاسخ: 0
    آخرین پست: شنبه 17 مرداد 1388, 16:30 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •