Qt 5.11 - Prototyping with qmlscene

Qmlscene के साथ प्रोटोटाइप




qt

Qmlscene के साथ प्रोटोटाइप

Qt 5 में qmlscene शामिल है, एक उपयोगिता जो आवेदन पूरा होने से पहले ही QML दस्तावेजों को लोड और प्रदर्शित करती है। यह उपयोगिता निम्नलिखित अतिरिक्त सुविधाएँ भी प्रदान करती है जो QML अनुप्रयोगों को विकसित करते समय उपयोगी होती हैं:

  • अधिकतम विंडो में QML दस्तावेज़ देखें।
  • पूर्ण स्क्रीन मोड में QML दस्तावेज़ देखें।
  • खिड़की को पारदर्शी बनाएं।
  • मल्टी-सैंपलिंग (एंटी-अलियासिंग) को अक्षम करें।
  • .Qml फ़ाइल के संस्करण का पता न लगाएं।
  • धीमी गति में सभी एनिमेशन चलाएं।
  • रूट आइटम के आकार में विंडो का आकार बदलें।
  • आयात पथों की सूची जोड़ें।
  • एक नामित बंडल जोड़ें।
  • भाषा सेट करने के लिए अनुवाद फ़ाइल का उपयोग करें।

qmlscene उपयोगिता का उपयोग आपके QML अनुप्रयोगों के परीक्षण के लिए किया जाना है, न कि उत्पादन वातावरण में एक लांचर के रूप में। उत्पादन वातावरण में QML एप्लिकेशन लॉन्च करने के लिए, कस्टम C ++ एप्लिकेशन विकसित करें या QML फ़ाइल को किसी मॉड्यूल में बंडल करें। अधिक जानकारी के लिए QML अनुप्रयोगों को नियुक्त करना देखें।

.Qml फ़ाइल लोड करने के लिए, उपकरण चलाएँ और खोली जाने वाली फ़ाइल का चयन करें, या कमांड प्रॉम्प्ट पर फ़ाइल पथ प्रदान करें:

qmlscene myqmlfile.qml

कॉन्फ़िगरेशन विकल्प देखने के लिए, -help तर्क के साथ qmlscene चलाएं।

मॉड्यूल आयात पथ जोड़ना

-I ध्वज का उपयोग करके अतिरिक्त मॉड्यूल आयात पथ प्रदान किए जा सकते हैं। उदाहरण के लिए, QML प्लगइन उदाहरण ने नाम स्थान, TimeExample साथ पहचाने गए C ++ प्लगइन बनाता है। प्लगइन लोड करने के लिए, आपको उदाहरण के आधार निर्देशिका से -I ध्वज के साथ qmlscene चलाना होगा:

qmlscene -I imports plugins.qml

यह वर्तमान निर्देशिका को आयात पथ में जोड़ता है ताकि qmlscene imports निर्देशिका में प्लगइन qmlscene लेगा।

नोट: डिफ़ॉल्ट रूप से, वर्तमान निर्देशिका को आयात खोज पथ में शामिल किया गया है, लेकिन TimeExample जैसे किसी नामस्थान में मॉड्यूल तब तक नहीं मिलते हैं जब तक कि पथ स्पष्ट रूप से जोड़ा नहीं जाता है।

लोड हो रहा है टेस्ट डेटा

अक्सर, QML एप्लिकेशन परीक्षण डेटा के साथ प्रोटोटाइप किए जाते हैं जिन्हें बाद में C ++ प्लगइन्स से वास्तविक डेटा स्रोतों द्वारा प्रतिस्थापित किया जाता है। qmlscene उपयोगिता परीक्षण पहलू को अनुप्रयोग संदर्भ में लोड करके इस पहलू में सहायता करती है। यह एक निर्देशिका में dummydata नाम की एक निर्देशिका को लक्ष्य QML फ़ाइल के रूप में देखता है, और QML ऑब्जेक्ट्स के रूप में उस निर्देशिका में .qml फ़ाइलों को लोड करता है और उन्हें फ़ाइलों के नाम वाले गुणों के रूप में मूल संदर्भ में बाँधता है।

उदाहरण के लिए, निम्न QML दस्तावेज़ में एक lottoNumbers संपत्ति है जो दस्तावेज़ के भीतर मौजूद नहीं है:

import QtQuick 2.3

ListView {
    width: 200; height: 300
    model: lottoNumbers
    delegate: Text { text: number }
}

यदि, दस्तावेज़ की निर्देशिका के भीतर, एक dummydata निर्देशिका है जिसमें इस तरह की एक lottoNumbers.qml फ़ाइल है:

import QtQuick 2.3

ListModel {
    ListElement { number: 23 }
    ListElement { number: 44 }
    ListElement { number: 78 }
}

फिर इस मॉडल को पिछले दस्तावेज़ में ListView में स्वचालित रूप से लोड किया जाएगा।

dummydata से लोड होने पर बाल गुण शामिल हैं। निम्नलिखित दस्तावेज़ एक clock.time संपत्ति को संदर्भित करता है:

import QtQuick 2.3
Text { text: clock.time }

मूल मान में time गुण के साथ एक dummydata/clock.qml फ़ाइल द्वारा पाठ मान भरा जा सकता है:

import QtQuick 2.3
QtObject { property int time: 54321 }

इसे वास्तविक डेटा से बदलने के लिए, QQmlContext::setContextProperty () का उपयोग करके वास्तविक डेटा ऑब्जेक्ट को C ++ में रूट संदर्भ में QQmlContext::setContextProperty । यह QML और C ++ को एकीकृत करने में विस्तृत है।