رفتن به مطلب
مرجع رسمی سی‌پلاس‌پلاس ایران
  • 0
نیما غراب

پردازش زمان‌بر در تابعِ رویداد QWidget::mouseMoveEvent


سوال

سلام خدمت دوستان و اساتید گرامی.

فرض کنین پنجره‌ای در برناممون داریم که از نوع QWidget هستش و میخوایم مختصات لحظه به لحظه حرکت موس رو بگیریم. خب در این حالت قاعدتا باید تابع QWidget::mouseMoveEvent رو بازنویسی و مطابق با کاری که میخوایم انجام بدیم تعریف کنیم.

حالا اگر کاری که میخوایم در داخل تابع QWidget::mouseMoveEvent انجام بدیم زمان‌بر باشه برای جلوگیری از کند شدن برنامه و ایجاد تاخیر و از دست دادن جزئیات حرکت موس چه اقداماتی باید انجام بدیم؟

یکی راهی که به ذهن خودم رسید استفاده از یک نخ جدا برای انجام پردازش زمان‌بر هست ولی از اونجایی که لازمه قبل از اتمام تابع QWidget::mouseMoveEvent از join شدن نخ ایجاد شده اطمینان حاصل کنیم باز هم برنامه دچار تاخیر خواهد شد اگر هم بخوایم بلافاصله بعد از اجرای نخ اونو از نخ ایجاد کنندش جدا (detach) بکنیم بازم مشکل همچنان پا برجاست چون تابع QWidget::mouseMoveEvent پشت سر هم فراخوانی میشه و کلی نخ درست میشه که از نخ اصلی جدا شدن و نمیشه مدیریتشون کرد!

در یک چنین وضعی چه کاری باید انجام بدیم؟

سپاس گزارم.

ویرایش شده در توسط نیما غراب

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

0 پاسخ به این سوال تا کنون داده شده است

پست های پیشنهاد شده

هنوز برای این سوال پاسخی ارسال نشده است

به گفتگو ملحق شوید

شما همین الآن می‌توانید مطلبی را ارسال و بعداً ثبت‌نام کنید. اگر حساب کاربری دارید، و با حساب کاربری خود مطلب ارسال کنید.
نکته: مطلب شما قبل از انتشار نیاز به بازبینی توسط میانجی‌گر‌ها دارد.

مهمان
پاسخ به این سوال ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از ۷۵ اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×
×
  • جدید...