LINUX.ORG.RU

Qt Widgets или Quick?

 


1

3

Вот не понял, что для чего. Допустим мне надо запилить прогу которая работает с ОЧЕНЬ большими данными(логика сложная), а интерфейс будет предполагать КУЧУ вложенностей и окон. Что мне брать???



Последнее исправление: hobbit (всего исправлений: 2)

Если у проекта сжатые сроки, возьми опытного разработчика вместо себя. Иначе попробуй оба варианта и реши какой тебе удобнее.

anonymous
()

Это зависит от требованиях к интерфейсу, какие элементы нужны: кнопки, таблицы, списки. Я давно не смотрел Qt quick, но три года назад, там было бедненько. Как сейчас не знаю, может быть уже понаделали всё что может понадобится.

ox55ff ★★★★★
()

Qt Quick скорее подходит для быстрых наколенных поделок а-ля «Hello World», удобен для людей которые особо код не пишут, ну или не умеют писать код на плюсах. К тому же он создаёт накладные расходы по производительности из-за интерпретируемого QML. Раньше слышал, что на нём проблемно создавать что-то круче «хелловордов», как с этим сейчас не знаю.

Dr64h ★★★
()
Ответ на: комментарий от unDEFER

Но почему это может быть лучше чистой сцены? В части виджетов ты получаешь нативный вид элементов, но на сцене этого нет. На сцене нормальные анимации и плавность изменений, у виджетов этого нет. В чём смысл именно совмещения?

unC0Rr ★★★★★
()

В любом случае постарайся всё, что не связано с GUI, вынести в отдельные модули. Тогда ты сможешь для одного проекта (если у него окажется долгая счастливая жизнь) написать интерфейсы и на виджетах, и на QML. И модели, унаследованные от QAbstractTableModel (например), ты сможешь использовать и там, и здесь.

Виджеты более консервативны (в хорошем смысле слова, т.е. меньше меняются при изменении версии Qt) и меньше тащат за собой.

QML может оказаться предпочтительнее, когда тебе заведомо надо делать мобильную версию своего приложения.

hobbit ★★★★★
()
Ответ на: комментарий от unC0Rr

Ну это чисто моë предположение, как неопытного Qt-шника. Типа если каждый из подходов имеет какие-то преимущества, то грамотно их объединив в теории можно получить все преимущества в одном приложении.

unDEFER ★★★★★
()

Что мне брать???

Велосипед или самокат?

интерфейс будет предполагать КУЧУ вложенностей и окон. 

«Кучу», которую потом не хочет никто сопровождать можно наделать любым инструментом, формочки и совочек тут роли не играют.

Что в виджетах полно любителейй весь код в обработчики засунуть, что в qtquick простынку кодбехайнда насерить и накрыть простынкой из разметки с одной копипастой.

Тут все дело скорее в чувстве меры и умении разделять логику и интерфейс, а интерфейс на компоненты, а окна с диалогами и обработчиками это или модели с вьюхами — дело десятое.

Лежит душа к кодированию сигналов-слотов — бери виджеты. Хочешь верстать и биндить — бери квик. Хочешь — совмещай.

slackwarrior ★★★★★
()

если обычного gui достаточно т.к. не нужны красивости - бери widgets, но и они умеют css, хотя не очень эффективно рисуются (ежили их много будет)

x905 ★★★★★
()

QtWidgets - быстрый даже на слабых пк, жрет мало ресурсов, простой, только C++, бедный в плане кастомного дизайна, если что-то нужно кастомное, то либо вручную переопределять отрисовку, что трудоемко, либо есть qss, но там кастомизация очень ограниченная.

QtQuick - жрет ресурсов больше, быстрый только на современном железе. Дизайн можно любой, т.к. для этого и создавался. Но вот сложность. Теперь тебе нужно знать и C++ и Qml и Js, знать, как гонять данные между ними, есть подводные камни, которые не всегда очевидны, постоянное обновление приводит к тому, что один и тот же Qml код может неработать на новой версии Qt из-за того, что там лайауты как-то вложены не так (как именно их правильно вкладывать, чтобы точно работало на всех версиях, нигде не написано).

Но я бы смотрел на Qml, т.к. хоть и сложее, но интерфейс можно сложнее делать.

rumgot ★★★★★
()

Не бери Qt вообще. В тамошних сигналах и так бывает непросто отлаживаться, а тебя еще и логика сложная, крыша может поехать. Но если все-таки решишься, запомни это название: GammaRay

eagleivg ★★★★★
()