• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

البحث في المنتدى

Showing results for tags 'qthread'.

  • البحث بالتاقات

    اكتب الكلمات المفتاحيه بينها علامه الفاصله
  • البحث بكاتب الموضوع

تم إيجاد 2 نتيجة

  1. كيفية ايقاف Qthread في بايثون

    السلام عليكم ورحمة الله وبركاته   عندي برنامج له واجهة رسومية يشبه الي حد كبير متصفح انترنت متعدد الالسنة وكل تبويب جديد يفتح اقوم بفتحه داخل QThread منفصل حيث يقوم كل thread بالدخول في حلقة تكرارية طويلة تصل الي ساعات وبالتالي اريد ان يستطيع المستخدم بايقاف ايا من ال threads في اي وقت حتي الان كل شيء تم انجازه الا امكانية ايقاف الحلقة التكرارية مع العلم بان الحلقة التكرارية تقوم بتحديث الواجهة الكود اسفله تقوم فكرته علي الاتي : دالة اسمها campaign_loop في الفورم الرئيسي وفيها الحلقة التكرارية كلاس موروثة من Qthread وبها دالة run تم فيها فقط عمل emit ل signal سميتها loop في كل مرة يضغط المستخدم علي زر start يقوم البرنامج باخذ قيم الكنترولز من الفورم وتمريرها الي الدالة campaign_loop ثم يبدأ ال thread عن طريق انه يقوم بتعريف متغير جديد لل thread ويقوم بتشغيله واضافة تاب جديد مع زر ايقاف في زر الايقاف يتم ربطه بدالة فيها جملة واحدة وهي ايقاف الthread باستخدام terminate   الكود مجرد مثال فقط class Main(QMainWindow): def btStart(self): self.mythread = BrowserThread() self.connect(self.mythread, SIGNAL('loop()'), self.campaign_loop, Qt.AutoConnection) self.mythread.start() def btStop(self): self.mythread.terminate() def campaign_loop(self): loop goes hereclass BrowserThread(QThread): def __init__(self): QThread.__init__(self) def run(self): self.emit(SIGNAL('loop()'))اشكركم علي تعاونكم
  2. كيفية ايقاف Qthread في بايثون

    السلام عليكم ورحمة الله وبركاته   عندي برنامج له واجهة رسومية يشبه الي حد كبير متصفح انترنت متعدد الالسنة وكل تبويب جديد يفتح اقوم بفتحه داخل QThread منفصل حيث يقوم كل thread بالدخول في حلقة تكرارية طويلة تصل الي ساعات وبالتالي اريد ان يستطيع المستخدم بايقاف ايا من ال threads في اي وقت حتي الان كل شيء تم انجازه الا امكانية ايقاف الحلقة التكرارية الكود اسفله تقوم فكرته علي الاتي : دالة اسمها campaign_loop في الفورم الرئيسي وفيها الحلقة التكرارية كلاس موروثة من Qthread وبها دالة run تم فيها فقط عمل emit ل signal سميتها loop في كل مرة يضغط المستخدم علي زر start يقوم البرنامج باخذ قيم الكنترولز من الفورم وتمريرها الي الدالة campaign_loop ثم يبدأ ال thread عن طريق انه يقوم بتعريف متغير جديد لل thread ويقوم بتشغيله واضافة تاب جديد مع زر ايقاف في زر الايقاف يتم ربطه بدالة فيها جملة واحدة وهي ايقاف الthread باستخدام terminate   الكود مجرد مثال فقط class Main(QMainWindow): def btStart(self): self.mythread = BrowserThread() self.connect(self.mythread, SIGNAL('loop()'), self.campaign_loop, Qt.AutoConnection) self.mythread.start() def btStop(self): self.mythread.terminate() def campaign_loop(self): loop goes hereclass BrowserThread(QThread): def __init__(self): QThread.__init__(self) def run(self): self.emit(SIGNAL('loop()'))اشكركم علي تعاونكم