मैं 'font.family' या 'anchors.fill' जैसे नेस्टेड गुणों को करने की कोशिश कर रहा हूं, लेकिन मैं उन्हें सामान्य तरीके से प्रारंभ नहीं कर सकता क्योंकि यह प्रिंट करता है 'अस्तित्वहीन संपत्ति को असाइन नहीं कर सकता'। इसके बजाय मुझे घटक का उपयोग करने के लिए मजबूर किया गया है। पूर्ण विधि। क्या गलत है?समूहबद्ध/नेस्टेड गुण कैसे बनाएं?
MyButtonStyling.qml:
import QtQml 2.1
QtObject
{
property QtObject background: QtObject
{
property color pressed: "#CCCCCC"
property color enabled: "#666666"
property color disabled: "#555555"
}
}
main.qml:
import QtQuick 2.0
Item
{
width: 400
height: 300
MyButton
{
text: "TEST"
styling: MyButtonStyling
{
//background.enabled: "#1B2E0A" //Cannot assign to non-existent property "enabled"
Component.onCompleted:
{
background.enabled = "#1B2E0A" //Works
}
}
}
}
MyButton.qml:
import QtQuick 2.0
import QtQuick.Controls 1.0
import QtQuick.Controls.Styles 1.0
Button
{
property QtObject styling: MyButtonStyling {}
implicitWidth: 80
implicitHeight: 80
style: ButtonStyle
{
background: Item
{
Rectangle
{
anchors.fill: parent
color: control.pressed ? styling.background.pressed : control.enabled ? styling.background.enabled : styling.background.disabled
}
}
}
}
आप बिल्कुल स्पष्ट कर सकते हैं कि तुम क्या इसके बाद के संस्करण कोड के साथ पूरा करने के लिए इच्छुक रहे हैं? इसे प्राप्त करने का एक बेहतर तरीका हो सकता है, लेकिन मैं जो कुछ करने की कोशिश कर रहा हूं उस पर मैं पूरी तरह से स्पष्ट नहीं हूं। – MrEricSir