رفتن به مطلب
مرجع رسمی سی‌پلاس‌پلاس ایران
  • 0
zahra

دسترسی به اعضای Repeater در QML


سوال

سلام 

دسترسی به اعضای nested یک repeater  به چه صورتی هست؟  من با استفاده از دستور زیر به جواب نرسیدم

repeater.itemAt(id).children[0].children[0].children[0].color = "red";


Repeater {
id: repeater
        model: 5

Rectangle {
property int radius: 15
gradient: Global.Theme
        width: radius
        Button {
        id:control
        x: 20
        y : -25
        Text {
            id :  saveId// saveId
            text:  qsTr(Global.textArray[index])
            font : myFont
            color: Global.Theme ? Global.fontColor_gray : "red"
            anchors.verticalCenter: parent.verticalCenter
            anchors.horizontalCenter: parent.horizontalCenter
        }

        InnerShadow {
            //anchors.fill: parent
            cached: true
            visible: true
            horizontalOffset: 0
            verticalOffset: 0
            radius: 8
            samples: 16
            color: Global.Theme ? Global.innerShadowColor_gray : "red"
            smooth: true
            source: saveId
        }
        DropShadow {
            anchors.fill: saveId
            source: saveId
            verticalOffset: 4
            //color: "#80000000"
            color: Global.Theme ?  Global.dropShadowColor_gray : "red"
            radius: 30
            samples: 300
        }
        background: Rectangle {
            implicitWidth: 130
            implicitHeight: 55
            border.width: control.activeFocus ? 2 : 1
            border.color: "darkgray"
            radius: 10
            gradient: Global.Theme ? gradientProvider.gradientThem_1 : gradientThem_0
        }
        onClicked: {

        }
}
}
}

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

1 پاسخ به این سوال تا کنون داده شده است

پست های پیشنهاد شده

  • 1

سلام 

با تعریف یک property  در بدنه repeater  به صورت زیر مشکل حل شد : 

              Repeater {
                  id: repeater
                  model: 5

                  Rectangle
                  {
                      color : "transparent"
                      id : myRectRepeater
                      property int radius: 15
                      gradient:  mygradient
                      width: radius
                      property var myColor:  Global.Theme? "red" : "blue"

                      Button {
                          id:control
                          x: 20
                          y : -25

                          Text {
                              id :  saveId// saveId
                              text:  qsTr(Global.textArray[index])
                              font : myFont
                              color: myColor
                              anchors.verticalCenter: parent.verticalCenter
                              anchors.horizontalCenter: parent.horizontalCenter
                           }
                          }
                        onClicked: {
                            
                        }
                       }
                  }
              }




for(var idx1 =0; idx1 < 5; idx1++)
    {
          repeater.itemAt(idx1).myColor = Global.fontColor_gray ;
          repeater.itemAt(idx1).mygradient = myTheme
    }

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو ملحق شوید

شما همین الآن می‌توانید مطلبی را ارسال و بعداً ثبت‌نام کنید. اگر حساب کاربری دارید، و با حساب کاربری خود مطلب ارسال کنید.
نکته: مطلب شما قبل از انتشار نیاز به بازبینی توسط میانجی‌گر‌ها دارد.

مهمان
پاسخ به این سوال ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از ۷۵ اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×
×
  • جدید...