Russian Qt Forum

Qt => Общие вопросы => Тема начата: MacMan от Сентябрь 03, 2006, 20:51



Название: QT для Маков
Отправлено: MacMan от Сентябрь 03, 2006, 20:51
Добрый день,

Планируем выпустить новую версию продукта под Mac OS X и Windows.
Остановились пока на QT как среде где можно написать один код для двух платформ.

Подходит ли среда QT для написания приложений под Mac? Понятно что на ней можно скомпилировать код под почти все платформы.

Но, будет ли смотреться код под Mac? Интерфейс Linux -а больше похож на Windows, но меня интересует именно Mac. Т.е. будет ли выглядет интерфес состряпанный для обеих платформ - как родной в Mac-e?

Буду очень признателен за дискуссию по этому поводу, для меня сейчас это очень важный вопрос. Спасибо.


Название: QT для Маков
Отправлено: Cesar от Сентябрь 03, 2006, 22:08
Qt по возможности использует "родной" look-and-feel системы. Если хотите явно указать внешний вид (стиль) виджетов Вашего приложения, используйте
Код:

#ifdef WS_MAC
QApplication::setStyle(new QMacStyle);
#endif
#ifdef WS_WIN
QApplication::setStyle(new QWindowsStyle);
#endif


Название: Re: QT для Маков
Отправлено: Sergey B. от Сентябрь 04, 2006, 05:32
Цитата: "MacMan"
Добрый день,

Планируем выпустить новую версию продукта под Mac OS X и Windows.
Остановились пока на QT как среде где можно написать один код для двух платформ.

Подходит ли среда QT для написания приложений под Mac? Понятно что на ней можно скомпилировать код под почти все платформы.

Но, будет ли смотреться код под Mac? Интерфейс Linux -а больше похож на Windows, но меня интересует именно Mac. Т.е. будет ли выглядет интерфес состряпанный для обеих платформ - как родной в Mac-e?

Буду очень признателен за дискуссию по этому поводу, для меня сейчас это очень важный вопрос. Спасибо.


Будет ОК.  Сам баловался с OS X x86,  собирал Qt, смотрится нативно. Единственное НО, некоторые программы используют в Маке серый цвет окон (как стиль багира в КДЕ), пришедший с Пантерой, Qt использует стиль ещё от ягуара (проги выглядят, как Xcode ).


Название: Re: QT для Маков
Отправлено: MacMan от Сентябрь 04, 2006, 08:17
Спасибо за информацию.

Нужно ли еще пилить напильником код для OS X написанный один раз на QT?
Есть ли какие специфичные контролы для Mac OS, которые отсутствуют в QT?

Пару людей советовали писать одно ядро для обеих систем, а оболочки делать для каждой системы разные: для Mac OS использовать Cocoa Framework.

Но не хотелось бы делать двойную работу...

добавлено спустя 41 секунду:

 
Цитата: "Sergey B."
Цитата: "MacMan"
Добрый день,

Планируем выпустить новую версию продукта под Mac OS X и Windows.
Остановились пока на QT как среде где можно написать один код для двух платформ.

Подходит ли среда QT для написания приложений под Mac? Понятно что на ней можно скомпилировать код под почти все платформы.

Но, будет ли смотреться код под Mac? Интерфейс Linux -а больше похож на Windows, но меня интересует именно Mac. Т.е. будет ли выглядет интерфес состряпанный для обеих платформ - как родной в Mac-e?

Буду очень признателен за дискуссию по этому поводу, для меня сейчас это очень важный вопрос. Спасибо.


Будет ОК.  Сам баловался с OS X x86,  собирал Qt, смотрится нативно. Единственное НО, некоторые программы используют в Маке серый цвет окон (как стиль багира в КДЕ), пришедший с Пантерой, Qt использует стиль ещё от ягуара (проги выглядят, как Xcode ).


Спасибо за информацию.

Нужно ли еще пилить напильником код для OS X написанный один раз на QT?
Есть ли какие специфичные контролы для Mac OS, которые отсутствуют в QT?

Пару людей советовали писать одно ядро для обеих систем, а оболочки делать для каждой системы разные: для Mac OS использовать Cocoa Framework.

Но не хотелось бы делать двойную работу...


Название: Re: QT для Маков
Отправлено: Sergey B. от Сентябрь 04, 2006, 10:38
Цитата: "MacMan"
Спасибо за информацию.

Нужно ли еще пилить напильником код для OS X написанный один раз на QT?
Есть ли какие специфичные контролы для Mac OS, которые отсутствуют в QT?

Пару людей советовали писать одно ядро для обеих систем, а оболочки делать для каждой системы разные: для Mac OS использовать Cocoa Framework.

Но не хотелось бы делать двойную работу...


Всё будет выглядеть одинаково, и код ковырять не надо будет...
Куте может использовать платформенно зависимые фичи, но лучше этого не делать! (см ассистант platform specific)
или тут http://doc.trolltech.com/4.2/platform-notes.html


Название: Re: QT для Маков
Отправлено: MacMan от Сентябрь 04, 2006, 10:54
[/quote]

Всё будет выглядеть одинаково, и код ковырять не надо будет...
Куте может использовать платформенно зависимые фичи, но лучше этого не делать! (см ассистант platform specific)
или тут http://doc.trolltech.com/4.2/platform-notes.html[/quote]

ОК. Спасибо.
Сорри за возможно детские вопросы, но хотелось быяснить у спецов:
- Хочу делать плагины к своему приложению. Можно ли работать в QT с COM. Есть демка в дистрибутиве, но не знаю прокатит ли это под Маки.
- Как вообще обстоят дела с компонентами для QT.  Я так понял чисто C++ компоненты не рекомендуется использовать для платформо-независимых приложений?
- Насколько удобно/безопасно реализована работа с потоками?
- Насколько тормознутые приложения написанные на QT. У меня стоит Adobe Photoshop Elements 3.0 - полчаса загружается. Является ли это наследием QT?
- Ну и последний вопросик: хочу использовать графическую библиотечку, поставляется как DLL. Можно ли ее безопасно прикрутить к коду который будет под Mac AND Win?


Название: Re: QT для Маков
Отправлено: Sergey B. от Сентябрь 04, 2006, 14:19
Цитата: "MacMan"


ОК. Спасибо.
Сорри за возможно детские вопросы, но хотелось быяснить у спецов:
- Хочу делать плагины к своему приложению. Можно ли работать в QT с COM. Есть демка в дистрибутиве, но не знаю прокатит ли это под Маки.
- Как вообще обстоят дела с компонентами для QT.  Я так понял чисто C++ компоненты не рекомендуется использовать для платформо-независимых приложений?
- Насколько удобно/безопасно реализована работа с потоками?
- Насколько тормознутые приложения написанные на QT. У меня стоит Adobe Photoshop Elements 3.0 - полчаса загружается. Является ли это наследием QT?
- Ну и последний вопросик: хочу использовать графическую библиотечку, поставляется как DLL. Можно ли ее безопасно прикрутить к коду который будет под Mac AND Win?


-Про ком не скажу, а разве это не чисто виндовая байда?
-Если ты расширишь Qt компонент, используя только классы Qt, всё  будет работать...
-На Qt приложения тормознутые... :), по сравнению с MFC...
- Если библиотека есть под мак и под вин, то можно...


Название: QT для Маков
Отправлено: MacMan от Сентябрь 04, 2006, 17:06
А есть ли графические библиотеки/расширения для QT. Чтобы различные форматы считывать, преобразования, читать RAW файлы?


Название: QT для Маков
Отправлено: Sergey B. от Сентябрь 04, 2006, 22:11
Цитата: "MacMan"
А есть ли графические библиотеки/расширения для QT. Чтобы различные форматы считывать, преобразования, читать RAW файлы?


скорее всего врятли, или пиши свой (через чтение файлов QFile *) и побайтам :), или ...


Название: QT для Маков
Отправлено: SLiDER от Сентябрь 06, 2006, 00:04
Цитировать
А есть ли графические библиотеки/расширения для QT. Чтобы различные форматы считывать, преобразования, читать RAW файлы?


 А зачем вам именно "библиотеки/расширения для QT", есть море великолепных специализированных библиотек для этих целей, ImageMagick, к примеру.

Цитировать
Можно ли работать в QT с COM.


А что под Мак есть реализация Ком совместимая с мелкомягкой.

Цитировать
Насколько удобно/безопасно реализована работа с потоками?


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

Цитировать
Насколько тормознутые приложения написанные на QT. У меня стоит Adobe Photoshop Elements 3.0 - полчаса загружается. Является ли это наследием QT?

Цитировать
-На Qt приложения тормознутые... , по сравнению с MFC...


MFC является лишь тонкой оберткой над win32 api, это и делает его несколько быстрее других библиотек (хотя и не во всем), Qt не использует найтивных виджетов, а самостоятельно отрисовывает их. Если писать приложения не подключая к этому голову, то тормозить будет любой тулкик, и наоборот.  :wink:

Цитировать
Ну и последний вопросик: хочу использовать графическую библиотечку, поставляется как DLL. Можно ли ее безопасно прикрутить к коду который будет под Mac AND Win?


Непонял, вы свой код хотите сделать в виде динамически подгружаемыой библиотеки или у вас есть сторонняя,  если последнее то причем здесь Qt?

Цитировать
Как вообще обстоят дела с компонентами для QT. Я так понял чисто C++ компоненты не рекомендуется использовать для платформо-независимых приложений?


Опять непонял, что вы имеете ввиду под словом "компонент", может виджет? И причем здесь платформо независимое использование, если виджет написан для Qt и на Qt (без задействованеия каких либо плаформно зависимых элементов) то нет ни какой разницы какая платформа. В случае наличия исходников (а чаще это именно так) вы компилируете его под любую из ваших платформ, если нет, то получите от владельца бинарник в виде библиотеки под поддерживаемые им платформы. Если имеется в виду КОМ, то смотри вопрос выше. (никогда не видел кроссплатформенных КОМ-компонентов  :roll: )

А вообще, в свете скорого выхода Qt 4.2 вопрос о новых  виджетах становится совсем не актуальным  :D , см. статью о возможностях QGraphicsView, ссылка где-то здесь недавно пробегала. Кажись вот эта -> http://blogs.qtdeveloper.net/archives/2006/05/01/a-graphicsview-sneak-peek/

З.Ы. И чем вас так привлекает эта кривущая технология (КОМ), от которой даже авторы (microsoft) отказались уже как года 4. Глаза б мои ее не видели, нет лучшего способа получить расстройство психики чем попытаться через VARIANT передавать компоненту маломальски сложный тип данных, а если еще и в соседний поток или, не дай боже, процесс, то тут лучше сразу застрелиться. Вобщем, костыль он и в африке костыль. MS большиииииииие специалисты, впаривать другим такие костыли, под видом сверх-новых и сверх-эффективных технологий.  :twisted: И чего все ведутся  :?:  :?:  :?: