2009-09-11 3 views
5

Я использую Qt для разработки кросс-платформенного приложения. Я пытаюсь воспроизвести внешний вид двух левых окон (окно HUD и текстурированное окно), но до сих пор я не вижу, как получить какое-либо окно, кроме самого правильного окна. Кто-нибудь знает, как копировать эти окна?Какао-текстурированное окно в Qt

alt text http://th30z.netsons.org/wp-content/uploads/cocoa-windows-105.png

ответ

4

Посмотрите на Transmission. Они имеют независимый от платформы фоновый процесс и записывают интерфейс в родные библиотеки для каждой платформы. Вот как они обеспечивают хорошее приложение на всех трех платформах.

Если вы не хотите, чтобы сделать дополнительную работу, есть некоторые вещи, предоставляемые Qt:

Самый простой способ - это, вероятно, пойти и hack the Qt source.

1

Я думаю, что QMacNativeWidget позволит вам делать то, что вы хотите. Хотя, если вы пишете это только на OS X, может быть лучше просто сделать это приложение Cocoa.

+1

Да, именно поэтому я предложил просто сделать приложение Cocoa. – Amok

+0

Это не приложение для Mac, это кросс-платформа. Но я хочу, чтобы в некоторых диалоговых окнах был внешний вид Mac, используя окно HUD. Я буду использовать регулярные диалоговые окна для платформы Windows. – DHamrick

-4

Текстурированные/HUD-окна не могут быть кросс-платформенными, поскольку они являются OS X-only.

Единственное решение, о котором я могу думать, это переключиться на Cocoa - или вообще отказаться от идеи HUD/Textured windows и сосредоточиться на создании чего-то, что работает на всех платформах.

+0

-1 для чрезмерного пессимизма;) – slf

+0

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

Смежные вопросы