Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Igors от Июль 08, 2014, 19:49



Название: Qt + QT
Отправлено: Igors от Июль 08, 2014, 19:49
Добрый день

Имею обильный нативный код QT (QuickTime) (под Mac и Вындоуз) и ОЧЕНЬ хочу избавиться от его нативности. Трудно поддерживать и он глухо 32-битный. Но куда/как соскочить? Ничего кросс-платформенного не видно, гугление натыкается на объяснение разницы QT/t - и дальше этого дело не идет. Поэтому здесь принимаются советы и на уровне слухов, что сказала одна бабушка и.т.п.  :)

Спасибо


Название: Re: Qt + QT
Отправлено: navrocky от Июль 08, 2014, 21:38
Добрый день

Имею обильный нативный код QT (QuickTime) (под Mac и Вындоуз) и ОЧЕНЬ хочу избавиться от его нативности. Трудно поддерживать и он глухо 32-битный. Но куда/как соскочить? Ничего кросс-платформенного не видно, гугление натыкается на объяснение разницы QT/t - и дальше этого дело не идет. Поэтому здесь принимаются советы и на уровне слухов, что сказала одна бабушка и.т.п.  :)

Спасибо

Смотря что надо. Qt Multimedia, или в тяжелом случае FFMPEG, тебе помогут.


Название: Re: Qt + QT
Отправлено: Bepec от Июль 08, 2014, 22:52
Я от одной бабушки слышал, что нужно всё переписать и оно поможет :D

PS и от ревматизма тоже ^.^


Название: Re: Qt + QT
Отправлено: Igors от Июль 09, 2014, 09:32
Смотря что надо. Qt Multimedia, или в тяжелом случае FFMPEG, тебе помогут.
По поводу "что надо". Крутить мувики - ну надо, но в году раз. Др дело QT очень мощный загрузчик. Дал ему файл напр .pdf - он загрузил. Дал tiff 2 байта на канал - загрузил. Вообще формат о котором и не слышал - грузит. Ну и вывод в .mov файл никто не отменял.

Поэтому речь идет не о замене/переписывании этого ф-ционала, а о "кросс-платформенной обертке" (типа Qt). Но увы, что-то такой не видно  :'(



Название: Re: Qt + QT
Отправлено: GreatSnake от Июль 09, 2014, 10:53
Кросс-платформенный универсальный комбайн...
Хм... это фантастика)

Хотя, наверное, слон типа WebView осилит это.


Название: Re: Qt + QT
Отправлено: Igors от Июль 09, 2014, 11:47
Кросс-платформенный универсальный комбайн...
Хм... это фантастика)

Хотя, наверное, слон типа WebView осилит это.
Там есть SDK и под Вындоуз (на Mac он родной), но все это очень "развесисто", много веток что уже deprecated/legacy, взамен новые. Напр сейчас латаю (на Вындоуз)
Код
C++ (Qt)
GrafPtr oldWindow;
 
::GetPort (&oldWindow);
::MacSetPort ((GrafPtr) GetWindowPort(mMovieData->mQTMovieWindow));
::MCDraw(mMovieData->mQTMovieController, mMovieData->mQTMovieWindow);
if (oldWindow != NULL)
::MacSetPort(oldWindow);
 
MCDraw рисует бегунок мувика со всеми кнопарями - хорошо, но он выводит это на экран, а тут QPainter ..  :'( Попробовал WA_PaintOnScreen - не проходит.


Название: Re: Qt + QT
Отправлено: Fregloin от Июль 11, 2014, 14:09
очевидно же либо использовать встроенные в QtWidgets виджеты либо свои писать.


Название: Re: Qt + QT
Отправлено: Igors от Июль 11, 2014, 14:48
очевидно же либо использовать встроенные в QtWidgets виджеты либо свои писать.
Это подход типа "с грыжей на танк", в чем убеждает беглый просмотр документации (https://www.google.com.ua/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CB0QFjAA&url=https%3A%2F%2Fdeveloper.apple.com%2Flegacy%2Flibrary%2Fdocumentation%2FQuickTime%2FRm%2FMovieBasics%2FMTOpenPlayMovies%2FMTOpenPlayMovies.pdf&ei=V86_U9zaO-u9ygPLloGwDA&usg=AFQjCNH4XbZYbime8QZRgVwbt52e4ILmCw&sig2=jZppyDVCXsVsyRADfRbioQ)


Название: Re: Qt + QT
Отправлено: vulko от Июль 18, 2014, 13:37
если я правильно понял постановку вопроса, то нужно сделать обертку вокруг изначально не кроссплатформенного кода, чтобы он магически стал кроссплатформенным...

такое в общем невозможно.

нужно писать либо разные имплиментации большинства модулей (все что завязано на железяках и дровах - мультимедиа и т.п.), а уж потом обернуть это можно чем угодно, либо если имплементации уже есть, нужно делать абстрактные обертки для всех таких API и использовать нужные в зависимости от ОС.
но тут ещё с билд процедурой прибавиться гемора...


Название: Re: Qt + QT
Отправлено: Igors от Июль 18, 2014, 14:13
если я правильно понял постановку вопроса, то нужно сделать обертку вокруг изначально не кроссплатформенного кода, чтобы он магически стал кроссплатформенным...

такое в общем невозможно.
Вполне понятное желание пофилософствовать (отдыхая от трудового дня), а заодно и показать силу своего логического мЫшления, объясняя "дважды два" :) Впрочем тут такая безнадюга что я бы послушал и это - было бы хоть отдаленное представление о QT

нужно писать либо разные имплиментации большинства модулей (все что завязано на железяках и дровах - мультимедиа и т.п.), а уж потом обернуть это можно чем угодно, либо если имплементации уже есть, нужно делать абстрактные обертки для всех таких API и использовать нужные в зависимости от ОС.
но тут ещё с билд процедурой прибавиться гемора...
Я без понятия как писать "свои имплементации" - самому переписать сотню-другую (одних только) кодеков - фантастика.

Почти весь используемый QT код кросс-платформенный. Пример что я приводил выше компилится как на Mac так и на Вындоуз. Беда в том что оно клинит (как тот же пример) и что это все 32-bit. Надо искать замену - но в упор не видно на что. Apple в своем стиле - похерил все предыдущее и предоставил новый фреймворк (не помню сейчас как называется, не суть). Там все 32/64 и наверняка "по последнему слову". Но на Вындоуз ничего нового не видно. Cделать 32bit exe и звать ее через shared memory из приложения 64 - др ходов пока не видно.

В общем вопрос был чисто шкурный, типа где чего достать.


Название: Re: Qt + QT
Отправлено: vulko от Июль 18, 2014, 14:51
Цитировать
Я без понятия как писать "свои имплементации" - самому переписать сотню-другую (одних только) кодеков - фантастика.,
Кодеки не нужно переписывать, они должны быть в .dll/.a виде для винды и osx соотв.

А вот работу с ними, возможно придется. По крайней мере работа с теми же аудио девайсами на win и osx совершенно разная. Речь шла именно о переписывании подобных модулей в приложении, а не переписывании кодеков.

Цитировать
Почти весь используемый QT код кросс-платформенный. Пример что я приводил выше компилится как на Mac так и на Вындоуз. Беда в том что оно клинит (как тот же пример) и что это все 32-bit

не вижу никаких проблем с 32-х битными приложениями на винде. никто не отменял обратную аппаратную совместимость.
проблема тут скорее всего в другом, а именно неверном использовании quick time.

пример этот вообще ниочем. тут все-таки форум о qt, а не форум по quick time и использованию их api.

Цитировать
Cделать 32bit exe и звать ее через shared memory из приложения 64 - др ходов пока не видно.

ааа... взрыв мозга... нахрена 64 бита вообще? адресного пространства катастрофически не хватает?


Название: Re: Qt + QT
Отправлено: andrew.k от Август 21, 2014, 17:01
Я от одной бабушки слышал, что нужно всё переписать и оно поможет :D

PS и от ревматизма тоже ^.^

Прошло пару лет, а сообщения вереса, все такие же бесполезные. Никакого развития.


Название: Re: Qt + QT
Отправлено: Igors от Август 21, 2014, 17:12
Прошло пару лет, а сообщения вереса, все такие же бесполезные. Никакого развития.
Ну у того кто упорно пытается его критиковать - развития никак не больше :) Получается Бивис и Баттхед  :)


Название: Re: Qt + QT
Отправлено: Bepec от Август 21, 2014, 18:13
:D Развитие есть, просто вам не видно - шорки на глазах :)


Название: Re: Qt + QT
Отправлено: Igors от Август 21, 2014, 18:25
:D Развитие есть
Ну разве что "в обратную сторону". Навскидку я не могу припомнить ни одного поста где Вы сказали хоть что-то по делу. Или "масло масляное" или вообще не в тему или "что-то слышал" - но не к месту. Как человек пожилой я понимаю что обижаться на Вас глупо, а критиковать бесполезно :) Но иногда (обычно когда работа не выходит) Вы своей болтовней раздражаете безумно  :'(


Название: Re: Qt + QT
Отправлено: Bepec от Август 21, 2014, 18:29
Считайте это тренировкой вашего терпения и внимательности :)

PS я тоже не обижаюсь на ваши высказывания :) Как показывает практика мои высказывания "не по делу" просто пролетают мимо ваших глаз. И впоследствии оказываются верными ^.^


Название: Re: Qt + QT
Отправлено: andrew.k от Сентябрь 10, 2014, 16:47
:D Развитие есть
Ну разве что "в обратную сторону". Навскидку я не могу припомнить ни одного поста где Вы сказали хоть что-то по делу. Или "масло масляное" или вообще не в тему или "что-то слышал" - но не к месту. Как человек пожилой я понимаю что обижаться на Вас глупо, а критиковать бесполезно :) Но иногда (обычно когда работа не выходит) Вы своей болтовней раздражаете безумно  :'(
Не убавить, не прибавить. В точку.


Название: Re: Qt + QT
Отправлено: Bepec от Сентябрь 10, 2014, 16:56
Уху :)
Какой редкий гость) Заходи ещё :D