Russian Qt Forum
Май 07, 2024, 15:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Устройство дерева проекта  (Прочитано 12229 раз)
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #15 : Февраль 03, 2015, 15:24 »

qm можно формировать на этапе инсталла и кидать сразу куда нужно. Держать их смысла не имеет.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #16 : Февраль 03, 2015, 16:08 »

Угу, понятно. Спасибо.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #17 : Февраль 03, 2015, 16:29 »

А во время компиляции (дебага) я могу кидать переводы в папку сборки?

QMAKE_POST_LINK += postbuild.bat не работает
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #18 : Февраль 03, 2015, 19:43 »

попробуй call postbuild.bat
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #19 : Февраль 03, 2015, 19:47 »

попробуй call postbuild.bat
Не, игнорируется.
Это всё можно сделать в настройках сборки, но хочется делиться проектом, чтобы вручную не заводить дополнительные параметры.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #20 : Февраль 03, 2015, 20:27 »

тогда сунь содержимое батника в QMAKE_POST_LINK, по одной команде. у меня вот такое работает:
Код:
    QMAKE_POST_LINK = sed -e \'s/@APP_VERSION@/$$VERSION/\' -e \'s/@COPYRIGHT@/$$COPYRIGHT/\' -i \'\' $$INFO_PLIST_PATH;

    isEmpty(IS_RELEASE_BUILD) {
        # create symlinks instead of copying in debug mode
        QMAKE_POST_LINK += [ -L $$BUNDLE_DATA ] || ln -s $$_PRO_FILE_PWD_/$$PROJECT_DATA $$BUNDLE_DATA;
        QMAKE_POST_LINK += [ -L $$BUNDLE_TR ]   || ln -s $$_PRO_FILE_PWD_/$$PROJECT_TR   $$BUNDLE_TR;
    }
    else {
        # remove unused files
        QMAKE_POST_LINK += rm -rf $$BUNDLE_DATA/items $$BUNDLE_TR/*.ts;
    }
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #21 : Февраль 03, 2015, 20:46 »

Не, не работает. Кстати, Qt 5.4.

Хочу ещё вопрос спросить.
Как поступить.
Вот есть у меня геометрия. С ней нужно оперировать функциями. В моём проекте всё это хранится в mainwindow.

Правильнее, наверное, сделать класс GeometryStorage, который будет хранить геометрию, класс GeometryReader - friend предыдущему для открытия файлов, класс GeometrySaver, GeometryOptimizer, GeometryWorker.
Какое будет мнение?
Записан
Bepec
Гость
« Ответ #22 : Февраль 04, 2015, 01:50 »

Тут имеется золотая середина, которая у каждого своя.

Приведу пример.
Цель: создать объект класса. Типов класса может быть 3.
Моё решение: 3 класса, внучата одного общего с общим же интерфейсом. Возвращаются из ф-ции myObject * createObject(); Если ошибка, возвращаем NULL.
Решение другого программиста: фабрика классов, которой должен быть передан умный указатель, правда перед этим фабрика должна быть инициализирована списком допустимых классов,  ошибку можно получить лишь после передачи умного указателя в фабрику ошибок.

Оба решения верны, оба имеют и плюсы и минусы, но мне импонирует моё решение Веселый

PS Каждый выбирает для себя Улыбающийся
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #23 : Февраль 09, 2015, 09:33 »

Попалась такая проблема:
Дерево проекта упрощённо выглядит так:
*.pro
src
+dialogs
    +MyDialog.ui
+widgets
    +MyWidget.h

Теперь я хочу преобразовать с помощью дизайнера виджет, находящийся на MyDialog.ui, в мой виджет.
Что мне необходимо указывать в качестве заголовочного файла?
В ubuntu подошло "../../src/widgets/mywidget.h" по той причине, что сборка происходит в папку ./build.
В винде же у меня используется для сборки папка ../build.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #24 : Февраль 09, 2015, 09:44 »

%{CurrentProject:Path} как-то можно передать?
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #25 : Февраль 09, 2015, 15:08 »

Решил вопрос с помощью
Код:
INCLUDEPATH += ./src/widgets
Но мне кажется это не элегантным решением
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #26 : Февраль 09, 2015, 15:11 »

Решил вопрос с помощью
Код:
INCLUDEPATH += ./src/widgets
Но мне кажется это не элегантным решением
Вполне правильное решение.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #27 : Февраль 09, 2015, 16:50 »

Спасибо.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 22.