QML vs Qt Widgets — что предпотительнее для реализации интерфейса?
====================================================================

 Собираясь разрабатывать новое приложение (на C++ и Qt), столкнулся с выбором: как реализовать интерфейс — на QML или сделать по старинке виджетами (будет виджет, наследованный от QPainter на котором будут отрисовываться объекты да скроллироваться, и еще несколько виджетов с различными текстовыми полями и кнопками). С QML у меня нет никакого опыта, поэтому на виджетах я сделаю интерфейс намного быстрее. Однако, может быть у QML есть какие-то плюсы по сравнению с традиционными виджетами? Так какие же? Что из них производительнее? 

 Насчёт производительности — разница только на старте, когда грузится и парсится QML. Далее на его основе создаются обычные «плюсовые» объекты в памяти, так что во время исполнения разницы не будет. А если ваш QML не супер-дупер навороченный, то вы и во время загрузки разницы не ощутите.  

Плюсы у QML — более компактное, более читабельное описание интерфейса, а также тот факт, что тенденция развития Qt однозначно идёт к QML. В Qt5 вроде бы от нативных виджетов понемногу отходят (тут врать не буду, возможно неправ). 

 На QML сложные интерфейсы с анимацией и прочим писать куда быстрее, нежеи на виджетах. Плюс различные плюшки типа эффектов.  

  

А виджет наследовать от QPainter — что-то очень странное Вы написали. 

 Писал интерфейс на Qt, в последние дни как раз трогал QML.  

Явно видна заточенность QML под мобильные платформы — при рисовании интерфейса как-то сам начинаешь думать в эту сторону.  

QML стоит выбрать если хочется обеспечить одинаковый / подобный интерфейс для мобильной и десктопной версии приложения. Или же хочется сделать интерфейс сильно отличающийся от обычных программ. Например, для игрушек неплохо подойдёт.  

Делать на QML сложные интерфейсы я бы не стал — возни много, а выхода мало.