2015-03-02 4 views
8

मैं कुछ कोड ढूंढ रहा हूं जिसका उपयोग मैं यह देखने के लिए कर सकता हूं कि मेरा एप्लिकेशन मोबाइल/टैबलेट या कंप्यूटर पर निष्पादित किया गया है या नहीं। यह समझाने के लिए एक नमूना है कि मैं क्या कर रहा हूं:क्यूटी चेक प्लेटफ़ॉर्म प्रकार: मोबाइल या डेस्कटॉप

#include <QtGlobal> 

#if defined Q_OS_BLACKBERRY || defined Q_OS_ANDROID || defined Q_OS_IOS || defined Q_OS_WP 
#define Q_OS_MOBILE 
#else 
#define Q_OS_DESKTOP 
#endif 

यह आपको कैसा लगता है? क्या मैं पहिया को पुनर्जीवित कर रहा हूं?

+3

जाना :) – ahmed

+0

@boussouira धन्यवाद तरीका है कि;) –

+0

अपनी आवश्यकताओं पर निर्भर करता है यह :: स्क्रीन रिज़ॉल्यूशन QApplication जाँच करने के लिए डेस्कटॉप पर्याप्त हो सकता है() -> screenGeometry() – demonplus

उत्तर

1

कारण (मेरे ज्ञान के लिए) पूर्व-fabbed #defines के कारण मोबाइल बनाम डेस्कटॉप बनाम एम्बेडेड की परिभाषा धुंधली है। उदाहरण के लिए Q_OS_QNX Q_OS_BLACKBERRY के साथ सेट है, और Q_OS_DARWIN Q_OS_IOS और Q_OS_MACX दोनों पर सेट है। एंड्रॉइड पर Q_OS_LINUX के लिए इसी तरह की समस्या, और उसके बाद विंडोज संस्करणों के आसपास भ्रम की एक श्रृंखला है।

यदि आपके द्वारा सुझाए गए परिभाषाओं ने आपके उपयोग-मामले के लिए काम किया है, तो मुझे लगता है कि आगे बढ़ने का यह एक उचित तरीका है। मैं शायद Q_OS_foo को एक अलग नामकरण योजना का उपयोग करूंगा।

+0

मेरे एल्गोरिथ्म हर स्थिति में काम करता है। मैंने डार्विन और क्यूएनएक्स जैसे विदेशी प्रणालियों के बारे में सोचा। यह सुनिश्चित करने के लिए आप कुछ चित्र खींच सकते हैं। वैसे, जोला और उबंटू फोन मेरे लक्षित प्लेटफॉर्म नहीं थे। –

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