Domanda

So che l'uso di QML è abbastanza nuovo in QT e mi chiedevo se devo progettare il mio applicazione utilizzando QtDesigner o QML. Userò un pattern MVC e la mia principale preoccupazione se uso QML per la GUI è che potrebbe non essere facile da integrare all'interno del reste della mia C ++ app.

Sentitevi liberi di dare il vostro parere personale, sarei molto grato. Grazie!

È stato utile?

Soluzione

QML è destinato principalmente per le piattaforme mobili. Grazie alla sua giovinezza e la sua preoccupazione per le convenzioni dell'interfaccia piattaforma varie, manca di controlli standard come pulsanti e caselle combinate (ma si veda la progetto Componenti ). Se siete sul cellulare, o la vostra interfaccia utente richiede uno stile visivo altamente personalizzato, QML potrebbe essere opportuno prendere in considerazione. Essere preparati per un sacco di lavoro extra nella progettazione di controlli personalizzati. L'integrazione QML e C ++ è ancora piuttosto grezzi, a mio parere. Io personalmente consigliamo usando QML solo per le applicazioni più semplici, solo su piattaforme mobili, e solo con JavaScript. Nelle giuste circostanze potrei non crei elementi QML personalizzati in C ++.

di Qt C ++ API non sta andando via in qualunque momento presto. È stato inoltre progettato con il desktop in mente e farà un lavoro migliore di soddisfare le aspettative degli utenti su piattaforme desktop. Se siete sul desktop, mi sento di raccomandare attaccare al C ++ e Designer. Anche dopo QML matura un po ', probabilmente non sarà la soluzione giusta per la maggior parte delle applicazioni desktop.

Update!

Sembra che le cose sono cominciando a cambiare . Non ho provato i nuovi componenti io ancora, e la documentazione sembra un po 'scarsa (o almeno, di mezzo), ma questo potrebbe eventualmente rimuovere il principale ostacolo alla utilizzando QML sul desktop. Resta da vedere se questo otterrà il supporto a lungo termine, ma se siete disposti ad accettare il rischio di essere uno dei primi, penso che QML ora può essere una scelta praticabile per applicazioni desktop.

Altri suggerimenti

Sarebbe la pena di provare un po 'di QML per verificare se si adatta alle vostre esigenze.

Se si crea un altamente personalizzato UI con interfacce dinamiche e animazioni poi QML si inserisce il lavoro; se si sta costruendo un'applicazione desktop tradizionale, allora probabilmente si vuole rimanere con il Qt C ++ API.

Per quanto riguarda l'integrazione tra QML e C ++, QML è progettato per essere facilmente integrato con il codice C ++, e molte applicazioni QML utilizzare una sorta di C ++ back-end. È semplice iniettare oggetti C ++ in un'interfaccia QML o elementi QML scrittura personalizzati in C ++. Dai un'occhiata alla http://doc.qt.io/archives/qt- 4.7 / qtbinding.html e http: //doc.qt.io/archives/qt-4.7/qml-extending-tutorial-index.html .

Una cosa perdere per le risposte di cui sopra è che QML ha il vantaggio / svantaggio di JavaScript per la logica di business (se necessario). Attualmente sto costruendo un (piccole e medie) applicazione dimensioni per il desktop e in questo momento i miei (2) utenti alfa piace. Sono impressionato con l'espressività del quadro e quanto velocemente posso ottenere in su e testato. Tutto sommato trovo più veloce per lavorare con un editor di RAD (designer) e mi piace avere JavaScript come ripiego sul mio UI quando sto facendo cose fastidiose come si libra / validazione etc ...

Penso che sia una questione di come si sta comodi con la lingua. Se C ++ è il tuo "andare a" lingua di quello che probabilmente favoriscono il progettista. Se arrivate dal Web (la confessione, io sono un ingegnere Java EE / dev MVC NET facendo un sacco di front end) lo troverete rinfrescante e veloce.

Permette anche per un po 'la risposta che gli utenti si aspettano in questi giorni. Nel complesso darei un vantaggio enorme. Fare un tentativo - hai probabilmente essere piuttosto accontentare e piuttosto infastidito nello stesso lasso di tempo. Sono ancora arrabbiato per un paio di cose (FileIO in particolare), ma sto godendo il lato GUI delle cose in un modo che raramente sul desktop.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top