Измените .ui-файл (форму) проекта на .qml и .ui.qml - PullRequest
0 голосов
/ 01 июля 2019

У меня есть проект в qt с формами .ui.

Но теперь я должен получить лучший визуальный результат (более современный и удобный), поэтому я обнаружил, что qml - это то, что мне нужно.

Итак, проблема в том, что весь проект основан на .ui-формах (внешний интерфейс) и коде cpp (внутренний интерфейс).Мне нужно найти способ изменить мои формы с помощью файлов qml.

Я немного искал, но не знаю, как на самом деле использовать компонент пользовательского интерфейса в qml так же легко, как в формах пользовательского интерфейса.

Некоторая помощь будет с радостью приветствоваться

1 Ответ

0 голосов
/ 01 июля 2019

В качестве предисловия не стоит недооценивать объем работы, необходимой для повторной реализации пользовательского интерфейса приложения.

Тогда я бы продолжал так, и у меня все время работало программное обеспечение во время перехода:

  1. Изучение QML. Обратите особое внимание на то, как обмениваться данными между C ++ и QML (в основном используя мета-объектную систему Qt и каркас представления модели Qt). Пока не пишите постоянных изменений в текущем приложении (либо изучайте программы PoC с нуля, либо делайте ветвь текущего кода на раздаче).

  2. Модифицируйте текущий C ++ - только код, чтобы отделить GUI и бизнес-логику больше (если нужно, но я предполагаю, что это так), используя то, что вы узнали выше о C ++ - QML-совместимости. Сосредоточьтесь на том, чтобы отделить бизнес-логику с минимальными изменениями кода GUI (потому что в конечном итоге они будут отброшены).

  3. Преобразование некоторых частей текущего графического интерфейса в QML в виджетах QQuickView. Сохраните общую структуру графического интерфейса на основе виджетов, но постарайтесь, чтобы эти части пользовательского интерфейса QML были как можно более финальными. Перейдите так далеко, как вы можете практически с этим преобразованием, сохраняя программу полностью функциональной. Кроме того, этот шаг является продолжением шага 2 в отделении бизнес-логики от пользовательского интерфейса, но теперь у вас есть фактический QML, с которым можно работать, чтобы вы могли обнаружить новые вещи, которые вы должны изменить.

  4. Если возможно сделать все это QML, то сделайте последний шаг и полностью избавьтесь от виджетов. Если есть некоторые части пользовательского интерфейса, которые просто невозможно переписать в QML, просто выполните шаг 3, преобразовав все, что вы хотите преобразовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...