• الإعلانات

    • فيصل الحربي

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

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

محمد محمود يوسف

اعضاء
  • عدد المشاركات

    68
  • تاريخ الانضمام

  • تاريخ اخر زياره

السمعه بالموقع

0 عادي

عن محمد محمود يوسف

  • الرتبة
    عضو
  • تاريخ الميلاد 12/25/1980

طرق الإتصال

معلومات الملف الشخصي

  • الدولة : مصر - الاسكندرية
  1. QDarkStyleSheet ثيم داكن لتطبيقات PySide/PyQt4

    هل فيه ثيمات اخري واقدر اجيب باقي الثيمات منين
  2. كيفية ايقاف Qthread في بايثون

    استخدم بايثون 3.4 سابحث شكرا
  3. كيفية ايقاف Qthread في بايثون

    في البداية احب اشكر الاخ عامر الشابي علي اهتمامه ورده والحقيقة المصادر التي اضافها كان لها عظيم الاثر في وصولي الي حل للمشكلة التي ارقتني كثيرا   بعد العديد من التجارب وعمليات البحث وجدت الاتي : الكود الخاص بايقاف ال qthread باستخدام terminate يقوم بايقاف الحلقة التكرارية الموجودة في دالة run بمعني انه لا يقوم بايقاف ال thread ايا كان الكود المتاح انما يقوم بايقاف الحلقة التكرارية في run فقط ولكي استطيع تحديث الواجهة من الكلاس الرئيسية وليس من ال qthread كان يجب ان اقوم بصنع حلقة تكرارية بداخلها emit ل signal اقوم بتعريفها مسبقا والكود اسفله يوضح الفكرة الشيء الثاني ان هذا الكود لا يعمل في لينكس انما يعمل في ويندوز فقط ولازلت لا اعرف كيف اقوم بنفس العمل في لينكس وذلك لاختلاف استجابة كل نظام لطلب ايقاف العملية الفرعية import sysimport timefrom PySide.QtGui import *from PySide.QtCore import *class frmMain(QDialog): def __init__(self): QDialog.__init__(self) self.btStart = QPushButton('Start') self.btStop = QPushButton('Stop') self.counter = QSpinBox() self.layout = QVBoxLayout() self.layout.addWidget(self.btStart) self.layout.addWidget(self.btStop) self.layout.addWidget(self.counter) self.setLayout(self.layout) self.btStart.clicked.connect(self.start_thread) self.btStop.clicked.connect(self.stop_thread) def stop_thread(self): self.th.stop() def loopfunction(self, x): self.counter.setValue(x) def start_thread(self): self.th = thread(2) self.th.loop.connect(self.loopfunction) self.th.setTerminationEnabled(True) self.th.start()class thread(QThread): loop = Signal(object) def __init__(self, x): QThread.__init__(self) self.x = x def run(self): for i in range(100): self.x = i self.loop.emit(self.x) time.sleep(0.5) def stop(self): self.terminate()app = QApplication(sys.argv)win = frmMain()win.show()sys.exit(app.exec_())عند تشغيل هذا الكود في ويندوز سوف يعمل جيدا لكن في لينكس سوف يعطي الخطأ التالي This thread state must be current when releasingبرجاء من يعرف الحل في لينكس يضعه هنا حتي يكون الموضوع متكامل ويقدم حلا لكل من يواجه مشكلة مثل هذه
  4. كيفية ايقاف Qthread في بايثون

    اريد ايقافها فقط ، وان كان الكود فوق مش واضح فلو فيه مثال علي qthread بتشغل لووب طويل وبيحدث الواجهة اثناء تشغيله وامكانية ايقافها
  5. كيفية ايقاف Qthread في بايثون

      جزاك الله خيرا علي اهتمامك ومساعدتك لكن للاسف لا يوجد ما يساعد في هذه الاسئلة اشكرك علي وقتك واهتمامك وكل ما اطلب من حضرتك اذا كان هناك من تتوسم فيه القدرة علي حل المشكلة ان تقوم بدعوته لزيارة الموضوع ومحاولة الافادة   جزاك الله خيرا
  6. كيفية ايقاف Qthread في بايثون

    اشكرك اخي علي التفاعل قمت بتجربة الطريقة التي قالها صاحب السؤال في التعليقات الا انها لم تفلح للاسف
  7. كيفية ايقاف Qthread في بايثون

    هل المشكلة غير واضحة ؟
  8. كيفية ايقاف 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()'))اشكركم علي تعاونكم
  9. كيفية ايقاف 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()'))اشكركم علي تعاونكم
  10. مشكلة صغيرة في Data Grid View

    طبعا اخي انت تريد ان تضع فرق بين اجمالي عامود الايجار الكلي والقيمة المتبقية في textbox حاول استعمال هذا الكود في حدث cellendedit او row leave او غيرها حسب ما تشاء Private Sub TotalAll() Dim GrandTotal As Double = 0 For Each r As DataGridViewRow In dgDetails.Rows GrandTotal += r.Cells(7).Value Next txtTotal.Text = GrandTotal End Sub هذا الكود لاحد الاعمدة واكتب مثله للعمود الاخر وفي النهاية تقوم بطرح القيمتين من الممكن ايضا ان تقوم بدمجهما في function تعيد لك قيمة الفرق وتعينها الي textbx ارجو ان تكون المعلومة مفيدة
  11. درس في ADO.NET من الصفر إلى الإحتراف .

    بعد اذن اخونا ياسر الشيخ الدروس كلها مجمعة في ملف وورد لتعم الفائدة data_access_with_vb.rar
  12. درس في ADO.NET من الصفر إلى الإحتراف .

    جزاك الله خيرا
  13. كتاب Visual Basic® 2008 Programmer’s Reference

    جزاك الله خيرا
  14. دورة لإحتراف عالم البرمجة

    تفضل يا دكتور علي بركة الله
  15. رابط تحميل Vb.net 2008

    الحمد لله لقد وجدت الحل وهو ان تقوم بعمل uninstall للبرنامج من control panel سوف يفتح المعالج الذي منه تختار هل تريد حذف البرنامج او اصلاحه وفي اسفل الشاشة توجد خانات السيريال فارغة . قم بادخال الرقم الموجود بمشاركة الاخ napst3r والضغط علي زر upgrade وسوف يعمل ان شاء الله