داخل فرم خودم دو QPushBotton و یک QLabel دارم. که یکی از دکمهها (QPushButton) وظیفه اجرای یک QThread را دارد و یکی دیگه باعث متوقف کردن کار QThread ایجاد شده :
در کد بالا زمانیکه on_pushButton_clicked فراخوانی شد. QThread را اجرا میکند. و در مقابل زمانیکه on_pushButton_2_clicked فراخوانی شد. متغیر bool MyThread::Stop را برابر مقدار false میگذارد که باعث از بین رفتن عملیات QThread ایجاد شده میشود. اما در اصل هیچ تفاوتی ایجاد نمیکند ؟ و زمان بستن برنامه با خطای لاگ زیر برخورد میکنم :
21:39:20: Starting /tmp/untitled/build-untitled-Desktop_Clang_7_0_0-Debug/untitled...
QThread: Destroyed while thread is still running
21:39:32: The program has unexpectedly finished.
21:39:32: The process was ended forcefully.
21:39:32: /tmp/untitled/build-untitled-Desktop_Clang_7_0_0-Debug/untitled crashed.
با سلام.
در حال یادگیر
Qt
وThread
ها بودم که به مشکل دسترسی به متغیر در Thread بر خوردم.کلاس زیر از
QThread
مشتق شده است :داخل فرم خودم دو
QPushBotton
و یکQLabel
دارم. که یکی از دکمهها (QPushButton
) وظیفه اجرای یکQThread
را دارد و یکی دیگه باعث متوقف کردن کارQThread
ایجاد شده :در کد بالا زمانیکه
on_pushButton_clicked
فراخوانی شد.QThread
را اجرا میکند. و در مقابل زمانیکهon_pushButton_2_clicked
فراخوانی شد. متغیرbool MyThread::Stop
را برابر مقدار false میگذارد که باعث از بین رفتن عملیاتQThread
ایجاد شده میشود. اما در اصل هیچ تفاوتی ایجاد نمیکند ؟ و زمان بستن برنامه با خطای لاگ زیر برخورد میکنم :کجای کار اشتباه شده است ؟
به اشتراک گذاری این ارسال
لینک به ارسال
به اشتراک گذاری در سایت های دیگر