qt क्यूटी 5(क्यूएमएल) में ui.qml फ़ाइलों का क्या उपयोग है?



(1)

.ui.qml फ़ाइल Qt क्विक डिज़ाइनर को बाहर करने में मदद करने के लिए मौजूद है। सामान्य QML फ़ाइलों में जावास्क्रिप्ट अभिव्यक्तियां हो सकती हैं, उदाहरण के लिए, लेकिन ये क्यूटी क्विक डिज़ाइनर के साथ काम करने के लिए कठिन हैं। दूसरी ओर, सादा QML, उतना मुश्किल नहीं है, और .ui फ़ाइलों के समतुल्य विगेट्स के करीब है - एक दस्तावेज जो उपयोगकर्ता इंटरफ़ेस में वस्तुओं का एक सेट का विवरण देता है, उनके पीछे इतना तर्क नहीं है

इस सुविधा को ब्लॉग पर कई साल पहले प्रस्तावित किया गया था :

शास्त्रीय विजेट डिज़ाइनर को घोषणात्मक रूप और अनिवार्य तर्क के बीच भेद के आसपास बनाया गया है। घोषणात्मक प्रपत्र डिज़ाइन करने योग्य और .ui फ़ाइलों में संग्रहीत है।

क्यूएम में घोषणात्मक कोड और अनिवार्य कोड मिश्रण करना आसान है। यदि आप अपने क्यूएमएल फाइलों में अनिवार्य निर्देश (विजुअल पहलुओं को प्रभावित कर रहे हैं) जोड़ते हैं, तो वे विशुद्ध रूप से अब घोषणात्मक नहीं हैं और दृश्य संपादक में दृश्य प्रतिनिधित्व टूट जाएगा। विजुअल एडिटर को विज़न विवरण को पाठ विवरण में वापस अनुवाद करने का एक तरीका चाहिए। अनिवार्य कोड के लिए यह सामान्य रूप से संभव नहीं है और क्यूटी क्विक डिज़ाइनर भी कोशिश नहीं करता।

क्यूएमएल दस्तावेजों के लिए दस्तावेज कहते हैं:

क्यूटी 5.4 से, एक दस्तावेज में फ़ाइल एक्सटेंशन ".ui.qml" भी हो सकता है। QML इंजन इन फ़ाइलों की तरह मानक .qml फ़ाइलों को संभालता है और विस्तार के .ui भाग को अनदेखा करता है। क्यूटी क्रिएटिव क्यूटी क्विक डिज़ाइनर के लिए यूआई फ़ॉर्म के रूप में उन फ़ाइलों को संभालता है। फ़ाइलों में केवल क्यूएमएल भाषा का एक सबसेट है जिसे क्यूटी निर्माता द्वारा परिभाषित किया गया है।

क्यूटी त्वरित UI फॉर्म्स :

आप यूआई फ़ॉर्म बनाने के लिए क्यूटी क्रिएटर विजार्ड्स का उपयोग कर सकते हैं, जिनके पास फ़ाइल नाम एक्सटेंशन है .ui.qml। यूआई के रूप में QML भाषा का विशुद्ध रूप से घोषणात्मक सबसेट होता है। यह अनुशंसा की जाती है कि आप डिज़ाइन मोड में फ़ॉर्म संपादित करें। हालांकि, उपनाम गुणों के रूप में वस्तुओं का निर्यात केवल एक वाणिज्यिक सुविधा है, और इसलिए आपको इसे संपादित करने के लिए संपादन मोड का उपयोग करना होगा यदि आप क्यूटी निर्माता के ओपन सोर्स संस्करण का उपयोग कर रहे हैं Qt निर्माता त्रुटि संदेशों को प्रदर्शित करके समर्थित QML सुविधाओं के उपयोग को लागू करता है।

निम्नलिखित विशेषताएं समर्थित नहीं हैं:

  • जावास्क्रिप्ट ब्लॉक
  • फ़ंक्शन परिभाषाएं
  • फ़ंक्शन कॉल्स (qsTr को छोड़कर)
  • शुद्ध अभिव्यक्ति की तुलना में अन्य बाइंडिंग
  • सिग्नल हैंडलर
  • रूट आइटम से अन्य मदों में राज्य
  • रूट आइटम जिन्हें QQuickItem या आइटम से प्राप्त नहीं किया गया है

निम्न प्रकार समर्थित नहीं हैं:

  • व्यवहार
  • बाइंडिंग
  • कैनवास
  • अंग
  • शडर प्रभाव
  • घड़ी
  • परिवर्तन
  • संक्रमण

जहां तक ​​मैं देख सकता हूं कि .qml फ़ाइलों का इस्तेमाल यूआई को परिभाषित करने के लिए किया जा सकता है, जो कि यूआरआई फ़ाइल में लिखा गया है जो ओवरराइड लगता है। तो, क्या वास्तव में ui.qml फ़ाइल का उपयोग है?

मैं Qt निर्माता के साथ Qt5 का उपयोग कर रहा हूँ





qml