2013-06-26 62 views
10

Tôi có đoạn mã này QML:Làm thế nào để sử dụng lại mã tại QML

Column { 
     spacing: units.gu(2) 
     anchors { 
      fill: parent 
      centerIn: parent 
     } 
     Row { 
      spacing: units.gu(4) 
      ... 
     } 
     Row { 
      spacing: units.gu(4) 
      ... 
     } 
     Row { 
      spacing: units.gu(4) 
      ... 
     } 
     Row { 
      spacing: units.gu(4) 
      ... 
     } 
    } 

Về thực hành tốt nhất của lập trình QML, làm thế nào để sử dụng lại mã để tránh trùng lặp thuộc tính của các nguyên tố phổ biến? như trong ví dụ trên, tránh Hàng "khoảng cách: đơn vị.gu (4)".

Trả lời

10

Đặt mã của bạn vào tệp qml riêng biệt và sử dụng tên tệp đó làm phần tử. ví dụ.

// tập tin MyCustomRow.qml

Row { 
     spacing: units.gu(4) 
     ... 
    } 

Sau đó, trong tập tin QML khác của bạn:

Column { 
     spacing: units.gu(2) 
     anchors { 
      fill: parent 
      centerIn: parent 
     } 
     MyCustomRow{ 

     } 
     MyCustomRow{ 

     } 
     MyCustomRow{ 

     } 
     MyCustomRow{ 

     } 
    } 

Infact bạn có thể sử dụng một repeater:

Column 
{ 
      spacing: units.gu(2) 
      anchors 
      { 
       fill: parent 
       centerIn: parent 
      } 

      Repeater 
      { 
       model : 5 
       MyCustomRow 
       { 

       } 
      } 
} 

Chỉnh sửa:

Đối với làm việc đó trong một file duy nhất (như yêu cầu trong các bình luận), bạn có thể sử dụng QML Component yếu tố cùng với Loader phần tử:

Column { 
     spacing: units.gu(2) 
     anchors { 
      fill: parent 
      centerIn: parent 
     } 


     Component 
     { 
     id : myCustomRow 
     Row 
     { 
      spacing: units.gu(4) 
      ... 
     } 
     } 

     Loader { 
     sourceComponent : myCustomRow 

     } 
     Loader { 
     sourceComponent : myCustomRow 

     } 
     Loader { 
     sourceComponent : myCustomRow 

     } 
     Loader { 
     sourceComponent : myCustomRow 

     } 
    } 
+0

Thú vị. Và làm thế nào để làm điều đó trong cùng một tập tin? –

+1

@ayr_ton Tôi đã thực hiện chỉnh sửa. Kiểm tra. –

Các vấn đề liên quan