View Full Version : تغییر یک متغییر در یک شی دیگر با استفاده از QThread
mehdi.m2
سه شنبه 26 دی 1391, 23:07 عصر
سلام
من یه برنامه GUI نوشتم می خوام تویه یه کلاس دیگه(که تویه یه ترد دیگه اجرا می شه) اگه یه کلید خواص رو زدن یکی از متغییرهای کلاس دیگه رو که تویه ترد اصلی هست رو تغییر بده نحوه ارتباط این دو ترد باید چه جوری باشه؟
حامد مصافی
سه شنبه 26 دی 1391, 23:10 عصر
اگر نمونه این کلای در thread اصلی ایجاد بشه مسئلهای نیست. شما به سادگی میتونید عوضی کنید. در غیر اینصورت میتونید نسخه مورد نظرتون رو در thread ایجاد کرده و اونو به moveToThread به thread اصلی منتقل کنید.
mehdi.m2
سه شنبه 26 دی 1391, 23:20 عصر
اگر نمونه این کلای در thread اصلی ایجاد بشه مسئلهای نیست. شما به سادگی میتونید عوضی کنید. در غیر اینصورت میتونید نسخه مورد نظرتون رو در thread ایجاد کرده و اونو به moveToThread به thread اصلی منتقل کنید.
میشه بیشتر توضیح بدید.
من یه فرم دارم که می خوام یک متغییر داخل فرم رو با استفاده از صفحه کلید عوض کنم که اون کلاس که صفحه کلید رو کنترل می کنه تویه یه ترد جداست.
حامد مصافی
سه شنبه 26 دی 1391, 23:37 عصر
شما یک متغیر از نوع کلاس فرم پاس بدید به کلاس thread و در روال مربوطه اون رو عوض کنید. در موردی که فرمودید مشکلی وجود نداره. بهتره از thread safe types استفاده کنید. برای مثال qint به جای int. این کار رو انجام بدید اگر همه کار چیزی باشه که فرمودید مشکلی وجود نخواهد داشت.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.