إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

إغلاق widget عن طريق combobox في qt

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • [سؤال] إغلاق widget عن طريق combobox في qt

    سلام عليكم و رحمة الله و بركاته
    جمعة مباركة على الجميع إخواني

    إخواني مجتمع ليونكس العربي انا لي فترة طويلة أتسآل كيفية إغلاق ودجت (widget) في qt عن طريق وجدت أخر
    مثلا

    هنالك line edit و checkBox
    checkBox إذا كان قام بتحديد checkBox فإن line edit يقفل صبح مضلل عليه أي لا يمكن الكتابة فيه
    أما إذا كان عادي لا يوجد في checkBox شيء يبقا لاين إديت شغال و يتسطيع إضافة معلومات فيه
    كيف يمكن فعل هذا

    في qt و python
    ???أنتظركم

  • #2
    وعليكم السلام

    هذه سهلة أخي ومن أبسط الأمور في Qt تستطيع علمها عن طريق تقنية Signals/Slots، مثال لـ c++ :

    كود:
    MyClass::MyClass
    {
        ...
        connect(checkBox, SIGNAL(stateChanged(int)), this, SLOT(updateLineEdit(int)));
        ...
    }
    
    void MyClass::updateLineEdit(int state)
    {
        if(state == Qt::Checked)
            lineEdit->setEnabled(false);
    
        else if(state == Qt::Unchecked)
            lineEdit->setEnabled(true);
    }

    تعليق


    • #3
      شاكر لك عزيز
      نجحت معي الطريقة
      طيب أخي amine27 إذا أردته مع تشغيل الواجههة علطول كيف ؟
      أعذرني طولت عليك

      تعليق


      • #4
        لم أفهم جيدا ؟!

        تقصد تعطيل lineEdit عند تشغيل الواجهة مباشرة ؟

        تعليق


        • #5
          المشاركة الأصلية بواسطة أمين روخ مشاهدة المشاركة
          لم أفهم جيدا ؟!

          تقصد تعطيل lineEdit عند تشغيل الواجهة مباشرة ؟
          نعم أخي العزيز

          تعليق


          • #6
            تتم عند إنشاء الكائن مباشرة:
            كود:
            lineEdit = new QLineEdit();
            lineEdit->setEnabled(false);

            تعليق


            • #7
              ألف شكر لك عزيزي ما قصرت
              لكن لدي سؤال أخير في الودجت
              radioButton و هي عندما يقوم المستخدم بتحديد عليها أريد عمل شرط لـتأكد هل المستخدم بالفعل محدد على radioButton اما لا
              جربت
              radioButton.Checked يظهر لي خطا حاولت أكثر من مره لكن ما ينفع
              الصيغة
              كود PHP:
              if self.radioButton.Checked() == True self.start() 
              لكن يعطيني خطأ ؟؟ ما الحل

              تعليق


              • #8
                مرحبا، لاتوجد دالة Checked لوحدها بل يوجد isChecked و setChecked :

                كود PHP:
                if self.radioButton.isChecked() : self.start() 
                عليك بالرجوع للتوثيق دائما

                تعليق


                • #9
                  يعطيك الف عافية أخوي
                  جربت الطريقة و كل شيء ١٠٠٪ ما فصرت
                  و معيلش تعبتك معي

                  تعليق

                  يعمل...
                  X