2014-09-30 8 views
11

में छवि स्रोत लोड नहीं कर सकता है यह वास्तव में बुनियादी लगता है लेकिन किसी कारण से मुझे छवि स्रोत को अल्ट्रा-सरल QML ऐप में काम करने के लिए नहीं मिल सकता है।क्यूएमएल छवि

एफवाईआई, मैं क्यूटी 5.3.2 के आधार पर मैक ओएस-एक्स 10.9.5, क्यूटी निर्माता 3.2.1 चला रहा हूं।

import QtQuick 2.3 
import QtQuick.Controls 1.2 

ApplicationWindow { 
    visible: true 
    width: 640 
    height: 480 
    title: qsTr("Test") 

    Image { 
     id: image1 
     x: 10 
     y: 10 
     width: 100 
     height: 100 
     source: "testImage.png" 
    } 
} 

मैं निम्नलिखित त्रुटि मिलती है:

qrc:/main.qml:10:5: QML Image: Cannot open: qrc:/testImage.png 

अनुप्रयोग विंडो बनाई गई है लेकिन कोई छवि प्रदर्शित होता है। मैंने एक आयत के भीतर छवि को लपेटने का भी प्रयास किया है लेकिन इससे मदद नहीं मिलती है।

मैं यहाँ क्या गलत कर रहा हूं?

"testImage.png" प्रोजेक्ट निर्देशिका में है और मैंने संसाधनों, पूर्ण, रिश्तेदार और क्यूएमएल यूआई डिजाइनर के साथ मैन्युअल रूप से छवि स्रोत को निर्दिष्ट करने के लिए छवि पथ निर्दिष्ट करने के सभी तरीकों का प्रयास किया है।

मैं यह भी उल्लेख करूंगा कि काम करने के लिए क्यूटी 5.3.2 प्राप्त करने के लिए मैंने HERE के संशोधित संशोधन का पालन किया।

धन्यवाद।

+0

https://doc.qt.io/qt-5/qml-qtquick-image.html#source-prop 'यूआरएल पूर्ण, या घटक के यूआरएल के सापेक्ष हो सकता है। 'Qrc यूआरएल सापेक्ष हैं। आप फ़ाइल का उपयोग भी कर सकते हैं: ///home/user/testImage.png, या आप अपना खुद का [QQuickImageProvider] (https://doc.qt.io/qt-5/qquickimageprovider.html) परिभाषित कर सकते हैं जो स्वयं को संभाल सकता है योजना, उदाहरण के लिए 'छवि {स्रोत:" छवि: //myimageprovider/testImage.png "}' – bitek

उत्तर

24

मुझे लगता है कि आपकी qml फ़ाइल संसाधनों में है, इसलिए संसाधनों में भी अपनी testImage.png छवि को आज़माएं। ऐप को पुन: संकलित करें, इसे चलाएं और जांचें कि छवि ठीक से काम करती है।

सभी एक साथ होना चाहिए। उदाहरण के लिए:

enter image description here

मेरे कोड:

Image 
{ 
    source: "images/earth.png" 

अगर मैं संसाधनों से इस हटा सकते हैं, मैं यह त्रुटि भी फाइल सिस्टम में सही स्थान पर मिल जाएगा, लेकिन छवि अभी भी।

जब संसाधन में qml स्रोत रखा गया है, तो qml से लोड होने वाली सभी फ़ाइलें संसाधन में भी होनी चाहिए (Qt संसाधनों में इन फ़ाइलों को खोजता है, फाइल सिस्टम में नहीं)।

+1

बहुत बढ़िया, यह काम किया! ऐसा लगता है कि मैंने इसे दस लाख बार पहले किया है लेकिन संसाधनों में जोड़ने की आवश्यकता को याद नहीं किया है। धन्यवाद! –

+2

@ ब्रूसडेन आपका स्वागत है :) – Chernobyl

+2

यह भी काम करता है अगर आप छवि को qrc संसाधन फ़ाइल में डालते हैं और इसे निम्न तक एक्सेस करते हैं: छवि { स्रोत: "qrc: /images/earth.png" } – SGrebenkin

संबंधित मुद्दे