2012-11-06 15 views
15

Tôi chỉ muốn biết chúng ta có bất kỳ bộ định danh truy cập khái niệm nào như thuộc tính riêng tư trong QML như chúng ta có trong C++ hay không.QML có hỗ trợ các thông số truy cập như Riêng tư cho các thuộc tính không?

Nếu không nếu muốn biết trong trường hợp tôi có khoảng 10 thuộc tính trong thành phần QML của tôi nhưng tôi phải giới hạn quyền truy cập vào chỉ 2 thuộc tính. làm thế nào chúng ta có thể đạt được kịch bản này.

Trả lời

24

Không có tính năng dựng sẵn như vậy trong QML chính nó, nhưng đây là Qt Components nhanh cách tiếp cận:

Item { 
    property int sum: internal.a + internal.b 
    QtObject { 
    id: internal 
    property int a: 1 
    property int b: 2 
    } 
} 

Properties của đối tượng 'nội' là vô hình bên ngoài khoản, nhưng có thể được tự do sử dụng bên trong của nó.

+0

có phải là phải có 'QtObject' hoặc cũng có thể, ví dụ, thông qua phương pháp này để khai báo thuộc tính riêng bên trong' ListView'? – KernelPanic

+1

Bạn có thể sử dụng bất kỳ phần tử nào bạn muốn thay vì QtObject. –

+0

Từ tài liệu: "Có thể hữu ích khi tạo QtObject nếu bạn cần một loại cực kỳ nhẹ để kèm theo một tập hợp các thuộc tính tùy chỉnh" - vì vậy sử dụng QtObject là điều tốt nhất để làm cho mục đích của câu hỏi ở đây. – FourtyTwo