मैं अपने क्यूटी ऐप में एक साधारण ड्रैग और ड्रॉप सुविधा का उपयोग करने की कोशिश कर रहा था। यहां मेरा कोड है:ओएस एक्स योसेमेट क्यूटी ड्रैग और ड्रॉप फ़ाइल नाम बग
MyWindow::MyWindow(QWidget *parent)
{
..........
setAcceptDrops(true);
}
void MyWindow::dragEnterEvent(QDragEnterEvent *e)
{
if (e->mimeData()->hasUrls()) {
e->acceptProposedAction();
}
}
void MyWindow::dropEvent(QDropEvent *e)
{
foreach (const QUrl &url, e->mimeData()->urls()) {
const QString &fileName = url.toLocalFile();
qDebug() << "Dropped file:" << fileName;
}
}
जैसा कि आप देखते हैं, यह बस कंसोल में डाली गई फ़ाइल बिंग के पथ नाम को प्रिंट करता है। इसलिए जब मैंने अपने डेस्कटॉप से विजेट में एक फ़ाइल खींच ली और गिरा दी, तो मुझे कंसोल में /Users/<myName>/Desktop/<filename>
जैसे कुछ की उम्मीद थी। लेकिन मुझे कुछ ऐसा लगता है जैसे file:///.file/id=6571367.2773272/
मुद्रित किया जा रहा है। और जब मैं इसे किसी भी तरह से उपयोग करने का प्रयास करता हूं, जैसे कि मेरे इन-बिल्ट एडिटर में फ़ाइल (टेक्स्ट) खोलना, जो ओएस एक्स योसेमेट को छोड़कर सभी ओएस-एसएस के लिए ठीक काम कर रहा था, ऐप क्रैश हो जाता है।
यह एक ज्ञात बग है, जैसा कि here प्रकाशित है, पैच here के साथ। लेकिन मुझे नहीं पता कि मेरे कोड को काम करने के लिए पैच का उपयोग कैसे करें। क्यूटी के आस-पास एक उद्देश्य सी रैपर के साथ एक समाधान प्रतीत होता है, हालांकि, मुझे नहीं पता कि क्यूटी और उद्देश्य सी में सी ++ को कैसे मिश्रण करना है।
कोई विचार मैं पैच का उपयोग कैसे करूं या इसे कैसे काम करूं कुछ और रास्ता? किसी भी तरह मुझे फ़ाइल को छोड़ने के वास्तविक पूर्ण पथ को पुनः प्राप्त करने की आवश्यकता है।
पर्यावरण - ओएस एक्स योसामेट, क्यूटी निर्माता 3.1.1 क्यूटी 5.2.1 के साथ।
मुझे विंडोज़ पर एक ही ऐप चलाने की आवश्यकता होगी (हम विंडोज और मैक दोनों के लिए क्यूटी में विकसित हो रहे हैं), इसलिए क्रॉस-प्लेटफ़ॉर्म समाधान की तलाश में।
हमें [चैट में इस चर्चा को जारी रखें] (http://chat.stackoverflow.com/rooms/67486/discussion-between-cupidvogel-and-lpapp)। – SexyBeast
बस जानकारी के लिए, मैं -जे 4 का उपयोग करने की सलाह नहीं दूंगा। ऐसा लगता है कि कुछ दौड़ की स्थिति हो सकती है और -4 का उपयोग करते समय निर्माण करने में असफल रहा। यह लंबा है, लेकिन मैं केवल -j1 – Seb
FYI का उपयोग करने की अनुशंसा करता हूं, यह Qt 5.4.1 में तय किया गया है। [QTBUG-40,449] (https://bugreports.qt.io/browse/QTBUG-40449) – Shinnok