Вопросы по qtdesigner

78
15 октября 2019, 07:50

1) Какие плюсы и минусы compile-time и run-time обработки .ui файлов?

2) Надо ли распространять .ui файлы в сорсах проекта или только генерируемые uic заголовочные файлы?

Answer 1

При работе с файлами дизайнера, прикрепленными к непосредственно к проекту и собираемыми метаобъектным компилятором, можно нарваться на необходимость собирать проект с нуля из-за некорректного выхлопа утилиты QMake. Кроме того, если необходимо спроектировать современно выглядящий пользовательский интерфейс, не обойтись без css стилей (градиенты, картинки, цвета), это дело легче разрабатывать инкрементально, используя функцию предпросмотра Qt Designer.

Плюсы работы с файлами дизайнера из-под Qt Creator, а не Qt Designer сомнительны: на мой взгляд, Qt Creator реализует исключительно предпросмотр форм дизайнера и не более того. Часто, код, генерируемый Qt Designer обрабатывают и добавляют в саму программу руками.

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

Вывод: В проекте на C++ лучше держать исходные коды программы на C++, исключение - ресурсы. Файлы ui, на мой взгляд, рационально держать от основной программы отдельно, например, в директории, параллельной папке проекта, или отдельном git репозитории.

READ ALSO
Разница в размерах одинаковых структур

Разница в размерах одинаковых структур

Решил написать класс для манипуляции BMP изображениямиПоскольку мне не нравится стиль WinAPI кода решил переопределить структуры BITMAPFILEHEADER и BITMAPINFOHEADER,...

105
Как влиять на время отправки датаграммы

Как влиять на время отправки датаграммы

Есть qudpsocketЕсть два массива байт

99
Как работать с TUN на с++ [закрыт]

Как работать с TUN на с++ [закрыт]

Как работать с tun на с++ и обрабатывать пакеты +Можете ли скинуть какой-нить материал по TUN

95
Корреляционный код в С++

Корреляционный код в С++

Есть задача, с бинарной системы исчисления провести корреляцию, то есть с 1001 должно выйти 10010110Каждая единица это 10, а ноль это 01

84