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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Подключение библиотеки на QT5 с виджетом на QML к программе на QT4  (Прочитано 8158 раз)
qtkoder777
Частый гость
***
Offline Offline

Сообщений: 245


Просмотр профиля
« : Октябрь 12, 2021, 16:35 »

Есть большая программа на QT4, в неё понадобилось добавить карту. Карты поддерживаются QT5 (QtLocation) и используют QML.
1) Можно ли вообще создать библиотеку на QT5, которая будет отображать виджет на QML (QQuickWidget)?
2) Можно ли использовать такую библиотеку в программе на QT4 (поместить этот виджет на экранную форму)?
Записан
qtkoder777
Частый гость
***
Offline Offline

Сообщений: 245


Просмотр профиля
« Ответ #1 : Октябрь 13, 2021, 11:02 »

Библиотека на QT5 в принципе не подгружается в программу на QT4 в VS2010.
Пишу так
Код
C++ (Qt)
hDLL = LoadLibraryA("C:/Qt/Qt5.14.2/5.14.2/mingw73_32/bin/Qt5Gui.dll");
hDLL оказывается равным нулю. Ничего не понимаю. Какая винде разница какую dll подгружать?
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #2 : Октябрь 13, 2021, 11:09 »

Пишу так
Код
C++ (Qt)
hDLL = LoadLibraryA("C:/Qt/Qt5.14.2/5.14.2/mingw73_32/bin/Qt5Gui.dll");
Не работал с win32, но оч смущают слеши в пути
Записан
qtkoder777
Частый гость
***
Offline Offline

Сообщений: 245


Просмотр профиля
« Ответ #3 : Октябрь 13, 2021, 11:36 »

QT Creator создаёт библиотеки, которые только его программы могут прочитать?
Зачем то есть версия QT под Visual Studio. Только там 17-я студия которой у меня нет.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #4 : Октябрь 13, 2021, 11:43 »

смешивать библиотеки, собранные разными компиляторами — очень плохая идея. тебе надо как минимум собрать Qt 4 и 5 одним и тем же компилятором. И то не факт, что ты просто так сможешь смешать QtGui от 4 и 5 в одной программе.
Записан

Изучением 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
qtkoder777
Частый гость
***
Offline Offline

Сообщений: 245


Просмотр профиля
« Ответ #5 : Октябрь 14, 2021, 21:58 »

смешивать библиотеки, собранные разными компиляторами — очень плохая идея. тебе надо как минимум собрать Qt 4 и 5 одним и тем же компилятором. И то не факт, что ты просто так сможешь смешать QtGui от 4 и 5 в одной программе.
Я же подключаю Windows-функцией, ей не должно быть всё равно? Почему Qt4 она подключает, а QT5 нет?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #6 : Октябрь 15, 2021, 07:56 »

Есть большая программа на QT4,
Решение: портировать это приложение на Qt5. Конечно найдется 100 причин "почему не хочется", но попытки что-то пристегнуть к старой обречены, разница только когда придет понимание этого (может с этим постом чуть быстрее  Улыбающийся)

Записан
qtkoder777
Частый гость
***
Offline Offline

Сообщений: 245


Просмотр профиля
« Ответ #7 : Октябрь 25, 2021, 10:36 »

Есть большая программа на QT4,
Решение: портировать это приложение на Qt5. Конечно найдется 100 причин "почему не хочется", но попытки что-то пристегнуть к старой обречены, разница только когда придет понимание этого (может с этим постом чуть быстрее  Улыбающийся)
[/quote]
Перенос проекта на 100 тыс. строк с QT3 на QT4 занимает около года, не думаю что переход от QT4 к QT5 стал легче. Потом ещё долго вылавливать ошибки, добавленные в процессе переноса.
« Последнее редактирование: Октябрь 25, 2021, 10:44 от qtkoder777 » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #8 : Октябрь 25, 2021, 11:05 »

у 5 с 4 достаточно высокая совместимость на уровне кода
Записан

Изучением 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
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #9 : Октябрь 25, 2021, 11:32 »

Перенос проекта на 100 тыс. строк с QT3 на QT4 занимает около года, не думаю что переход от QT4 к QT5 стал легче. Потом ещё долго вылавливать ошибки, добавленные в процессе переноса.
Сколько чего займет - то Вам виднее, но по-любому здесь надо проявить принципиальность. Проект жив? Если да, то надо его апдейтить. Если нет - не дергаться с новыми фичами. А так больше времени уйдет на связки/затычки. И даже в случае их успеха вывод будет типа "нужно делать нормально,, по-человечески"
Записан
DarkHobbit
Самовар
**
Offline Offline

Сообщений: 197


Просмотр профиля
« Ответ #10 : Декабрь 09, 2021, 14:31 »

Если за полтора месяца тема сохранила актуальность - вставлю 5 копеек.
Перенос проекта на 100 тыс. строк с QT3 на QT4 занимает около года, не думаю что переход от QT4 к QT5 стал легче.

Вы очень ошибаетесь, он принципиально легче. У Qt3 и Qt4 есть множество несовместимых в принципе мест.
А с Qt4 на Qt5... У моего редактора контактов исходники совместимы и с той, и с другой, и на весь проект буквально несколько условных компиляций (навскидку вспоминается вынос QStandardPaths из QDesktopServices).

Разумеется, есть оговорки. Если из проекта на Qt4 до сих пор не выкинут Qt3Support, то его выкидывание - это первый и необходимый шаг к переносу. А дальше можно добавить строку условного добавления модуля QtWidgets в файл проекта (если проект гуёвый) и начинать гонять сборку с Qt5 и ловить глючки...
« Последнее редактирование: Декабрь 09, 2021, 14:33 от DarkHobbit » Записан

Мои проекты на Qt: DoubleContact, LInvert
qtkoder777
Частый гость
***
Offline Offline

Сообщений: 245


Просмотр профиля
« Ответ #11 : Январь 13, 2022, 13:42 »

Одна из причин оставаться на QT4 - то что имеющаяся версия Visual Studio и QT5 не совместимы. Покупать новую студию не хочет организация, перейти на Qt Creator религия не позволяет.
Записан
DarkHobbit
Самовар
**
Offline Offline

Сообщений: 197


Просмотр профиля
« Ответ #12 : Январь 21, 2022, 09:13 »

религия не позволяет.
Вам или организации?
Если первое - интересно послушать аргументы.
Записан

Мои проекты на Qt: DoubleContact, LInvert
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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