2012-01-26 18 views
8

के साथ पूर्ण-स्क्रीन डेस्कटॉप एप्लिकेशन मुझे फ्लेक्स और एएस 3 के साथ समृद्ध उपयोगकर्ता इंटरफ़ेस एप्लिकेशन विकसित करने का अनुभव है। हालांकि इन फ्लेक्स ऐप्स के साथ मौजूदा सी ++ बिजनेस लॉजिक का उपयोग करना मुश्किल है। क्यूएमएल के आगमन के साथ, मैं उत्सुक हूं कि समृद्ध यूआई ऐप्स के लिए क्यूटी के साथ सी ++ व्यापार तर्क का पुन: उपयोग करना संभव है या नहीं।क्यूएमएल

मैं जानना चाहता हूं कि डेस्कटॉप के लिए पूर्ण स्क्रीन समृद्ध उपयोगकर्ता इंटरफ़ेस एप्लिकेशन (जो विशेष रूप से मोबाइल उपकरणों में अधिक आम हो रहा है) विकसित करना संभव है या नहीं। उदाहरण के लिए (http://blog.flexexamples.com/2007/08/07/creating-full-screen-flex-applications/) एडोब में फ़्लैश प्लेयर है जिसका उपयोग पूर्ण स्क्रीन मोड में किया जा सकता है और AS3 में लिखी गई सामग्री चलाता है। क्या क्यूटी/क्यूएमएल का उपयोग कर समान अनुप्रयोग लिखना संभव है?

उत्तर

18

यदि आप सी ++ और कुछ क्यूएमएल यूजर इंटरफेस पर लिखे गए व्यवसाय तर्क का उपयोग करना चाहते हैं तो आप अपने आवेदन के अंदर QDeclarativeView का उपयोग कर सकते हैं। यह सिर्फ एक नियमित क्यूटी विजेट है इसलिए इसमें showFullScreen() विधि है। दरअसल यह वर्ग "आपके आवेदन के अंदर qmlviewer" की तरह है।

#include <QtGui/QApplication> 
#include <QtDeclarative/QDeclarativeView> 
#include <QtCore/QUrl> 

int main(int _argc, char * _argv[]) 
{ 
    QApplication app(_argc, _argv); 

    QDeclarativeView view; 
    view.setSource(QUrl("qrc:/MyGui.qml")); // if your QML files are inside 
               // application resources 

    view.showFullScreen(); // here we show our view in fullscreen 

    return app.exec(); 
} 

आप अधिक जानकारी के here पा सकते हैं:

तो तुम कुछ इस तरह मिल जाएगा।

+0

साथ परीक्षण किया गया मैंने इसे +1 करने के लिए लॉग इन किया। मैंने एक उदाहरण के लिए इंटरनेट को खराब कर दिया है कि क्यूएम आवेदन में लगभग 20 मिनट तक लोड होने वाली क्यूएमएल फ़ाइल कैसे प्राप्त करें, जब तक मुझे यह पता न लगे। शायद मुझे सीखना होगा कि Google का बेहतर उपयोग कैसे करें। वैसे भी, बहुत बहुत धन्यवाद! – Carrotman42

2

क्यूटी qmlviewer है।

फुलस्क्रीन में इसे चलाने के लिए:

$ qmlviewer -fullscreen -frameless file.qml 

इसके अलावा वहाँ QML साथ फुलस्क्रीन अनुप्रयोग बनाने के tutorial। डेस्कटॉप विजेट्स के लिए और components

19

पूर्णस्क्रीन जाने के लिए एक QML-only तरीका भी है। यदि आप QDeclarativeView लेकिन QQmlAplicationEngine का उपयोग नहीं कर रहे हैं, तो आप इसका उपयोग कर सकते हैं, क्योंकि उत्तरार्द्ध QWidget को विरासत में नहीं मिला है और विधि शोफुलस्क्रीन() नहीं है।

import QtQuick 2.2 
import QtQuick.Controls 1.1 

ApplicationWindow { 
    id: window 
    visible: true 
    visibility: "FullScreen" 
    width: 640 
    height: 480 

    Button { 
     text: "exit fullscreen" 
     onClicked: window.visibility = "Windowed" 
    } 
} 

लेकिन एप्लिकेशनविंडो को रूट-एलिमेंट के रूप में उपयोग करना महत्वपूर्ण नहीं है और आयताकार नहीं है। एप्लिकेशनविंडो के लिए आपको QtQuick.Controls आयात करना होगा।

+0

मेरे लिए अच्छा काम किया, लेकिन ध्यान दें कि एक बग है जो पूर्णस्क्रीन QtQuick 'MenuBar सही ढंग से काम नहीं करता है (कम से कम विंडोज़ पर)। – Timmmm

+0

विंडो को अधिकतम करने के लिए, आप इसका उपयोग कर सकते हैं: 'ऊंचाई: स्क्रीन। हाइट; चौड़ाई: स्क्रीन। विड्थ' – nerdoc

1

ग में QQmlApplicationEngine का उपयोग करते समय ++ आप QML में कुछ इस तरह कर सकते हैं:

main.cpp

#include <QApplication> 
#include <QQmlApplicationEngine> 
#include <QQmlContext> 

int main(int argc, char *argv[]) 
{ 
    QApplication app(argc, argv); 

    QQmlApplicationEngine engine; 
    engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); 

    return app.exec(); 
} 

main.qml

import QtQuick 2.7 
import QtQuick.Window 2.2 

Window { 
    id: mainWindow 

    Component.onCompleted: { 
     mainWindow.showFullScreen(); 
    } 
} 

QT5.8