LINUX.ORG.RU
ФорумTalks

О портируемости Qt

 


0

3

В списке разработчиков Qt начался срачик на тему отключения поддержки Wacom в тулките. В треде упоминаются совершенно волшебные моменты реализации под винду. Например, Qt под виндой создаёт невидимое полноэкранное окно для отлавливания событий от графических планшетов. А всё потому, что никто не читал виндовый API.

★★★★★

Последнее исправление: AP (всего исправлений: 1)

ну Qt местами кривоват, а местами просто пипец, и это факт :)

но

А всё потому, что никто не читал виндовый API.

если бы инквизиция была до сих пор, наверняка одной из пыток было бы чтение winapi

shty ★★★★★
()

и да, причём тут портируемость и поддержка wacom?

shty ★★★★★
()

А кто-то знает, как правильно это делать? Или это просто вброс?

Pavval ★★★★★
()

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

splinter ★★★★★
()

Не, драматизма в ситуации недостаточно для срача.

Zubok ★★★★★
()
Ответ на: комментарий от Xenius

Ну так эта же qt — там без костылей никак

Qt душевно

Hertz ★★★★★
()

Qt под виндой создаёт невидимое полноэкранное окно для отлавливания событий от графических планшетов

А как это по-другому делается? Где ваши патчи?

CYB3R ★★★★★
()

Кросплатформенный фреймворк не обязан всё делать нативно, цель всё таки переносимость. Поэтому вполне можно использовать всякие невидимые окна, если это например проще, чем использовать нативный api на полную катушку. А если это ещё и работает быстро, то вообще плевать.

ixrws ★★★
()
Ответ на: комментарий от shty

Есть ощущение, что каждый, кто говорит о говённости винапи просто не использовал его, не изучал. Что ж там пыточное то? gui в win32 очень даже стройно сделан, доки хорошие, на что рефлексии то? На типы или слишком низкоуровневость? Ну так эти проблемы порешали выпустим .NET с новым api.

ixrws ★★★
()
Ответ на: комментарий от Xenius

А где вообще можно без костылей? Любой, кто делал что-то кросплатформенное, рано или поздно столкнётся с тем, что одна из платформ будет иметь сильно отличающееся по духу api от его поделки и в ход пойдут необычные решения. Костыли ли это? Да ни разу, если хорошо работает, легко читается - это правильная реализация.

ixrws ★★★
()
Ответ на: комментарий от Deleted

AP традиционно решил позлорадствовать

В общем-то, нет.

AP ★★★★★
() автор топика
Ответ на: комментарий от ixrws

Есть ощущение, что каждый, кто говорит о говённости винапи просто не использовал его, не изучал.

есть ощущение, что те, кто говорят в защиту winapi, просто не видели ничего другого

shty ★★★★★
()
Ответ на: комментарий от shty

Да нет, ныне как раз таки линукс программист. Имею к майкрософт отношение разве что в том, что пишу под веб иногда, а среди веб браузеров есть ещё и такой экзотический, как интернет эксплорер.

Ну серьёзно, винапи не такое уж говно, оно далеко от совершенства, ну так многие апи далеки от него, те же Qt, gtk. Эпловские киты конечно где-то по удобнее будут, но если их упоминать, то на говно изойдётся вся публика:)

ixrws ★★★
()
Ответ на: комментарий от Kindly_Cat

А этот ваш гимповский тулкит на винде нормально работает?

Кстати да, GTK3 когда официально под венду будет?

pevzi ★★★★★
()

А всё потому, что никто не читал виндовый API.

4.2

If as one of the bugs says, there is actually a full-screen invisible window just to catch

all the tablet events, I wonder if the API is so clunky that such hacks are necessary, or just used to be necessary and now we need to completely rethink it.

Deleted
()
Ответ на: комментарий от Kindly_Cat

неизвестно в каком месте гимповский тулкит рисует невидимое окно, но планшеты у меня в нем не завелись.

Deleted
()

виндовый API.

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

sol13 ★★★★★
()
Ответ на: комментарий от ixrws

среди веб браузеров есть ещё и такой экзотический, как интернет эксплорер

эк ты мягко так (хотя, если говорить про версии после 9, уже можно и так сказать, наверное) :)

Ну серьёзно, винапи не такое уж говно

нет ничего идеального, в т.ч. говна

далеко от совершенства, ну так многие апи далеки от него, те же Qt, gtk

там вся соль в мере удалённости

shty ★★★★★
()
Последнее исправление: shty (всего исправлений: 1)
Ответ на: комментарий от sol13

мб сейчас все изменилось, может быть хоть что-то дельное сделают к 8ке)

и даже и не думай, у них там совместимость обратная, типа круто всё

shty ★★★★★
()

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

P.S. «Пользователи Windows должны стардать» © не помню кто

trex6 ★★★★★
()

А всё потому, что никто не читал виндовый API.

Может и читали, только ничего не поняли в этом трэше.

Zhbert ★★★★★
()
Ответ на: комментарий от trex6

а мои приложения у виндузятников запускаются.

А не сталкивался с такой ерундой, что у пользователей винды вместо вменяемых названий кнопочков и менюшечков крякозябры?

Zhbert ★★★★★
()
Ответ на: комментарий от sol13

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


Вряд ли. Скорее всего они просто с каждой новой версией оси дописывают в эту кучу еще парочку непонятных вещей, не описывая их =)

Zhbert ★★★★★
()

А меня порадовала фраза:

6) Digia wrote a patch, but it's a hack and was rejected

Как-то страшно становится за судьбы Qt.

alpha4
()
Ответ на: комментарий от Zhbert

А ведь могли бы и переписать, раз метро делают, то к нему адекватный апи сделать, а то разработчики не клюнут

sol13 ★★★★★
()
Ответ на: комментарий от sol13

Если попытаются, у них вообще все рухнет.

Zhbert ★★★★★
()
Ответ на: комментарий от trex6

Ну, я просто под винду свои поделки всего пару раз пытался, не было цели такой. Спасибо, буду знать.

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

Меня в детстве палкой по рукам били, когда в коде находили что-нибудь лежащее за пределами 128-го символа ASCII, так что русский язык в моих приложениях только через файлы переводов бывает.

trex6 ★★★★★
()
Ответ на: комментарий от trex6

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

А как же комментарии делать для gettext'а?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Zhbert

Ну, мне тоже привычнее английский, но некоторые хомяки его не осиливают почему-то.

Думаю, осилить английский, который тебе привычен - дело нетривиальное.

tailgunner ★★★★★
()
Ответ на: комментарий от Zhbert

Для этого и придумали всяческие хитрые утилиты для локализации, а еще лучше, для интернационализации. Ты пишешь на своем английском не зависимо от уровня, потом переводишь все это на литературный английский/русский/китайский.

trex6 ★★★★★
()
Ответ на: комментарий от Eddy_Em

Транслитерация решает. Ну или на английском же комментарии оставлять, заодно можно свой уровень английского немного подтянуть.

trex6 ★★★★★
()
Ответ на: комментарий от Zhbert

А не сталкивался с такой ерундой, что у пользователей винды вместо вменяемых названий кнопочков и менюшечков крякозябры?

    QTextCodec *russianCodec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForTr(russianCodec);
    QTextCodec::setCodecForLocale(russianCodec);

И все строки заключать в tr();

И на всех платформах (*nix, венда, макось) все нормально.

unfo ★★★★★
()
Ответ на: комментарий от trex6

Транслитерация решает

Так весь смысл комментариев для gettext'а в том, что ты открываешь .po-файл и просто комментарии втыкаешь в строки перевода. Можно даже автоматизировать это дело при желании.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

gettext'ом не пользовался, но в Qt'шной реализации локализатора комментарии просто поясняют переводимый текст и никуда не втыкаются. Переводы пишутся отдельно.

trex6 ★★★★★
()
Последнее исправление: trex6 (всего исправлений: 1)
Ответ на: комментарий от Eddy_Em

Костыль. В нормальном проекте комментарии - это комментарии, а перевод переводчик должен ручками вбивать.

trex6 ★★★★★
()
Ответ на: комментарий от trex6

В нормальном проекте

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

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от trex6

Ты ничего не понял :)

Комментарии пишутся специально для переводчиков, чтобы пояснить редко встречающиеся сообщения, которые видны только при особых условиях, либо какую-то специфичную терминологию, которую в оригинале знают два с половиной калеки.

AP ★★★★★
() автор топика
Ответ на: комментарий от ixrws

CreateProcess(), например: 10 аргументов, из них 5 - структуры по 5..10 элементов каждый, и 90% из этого всегда NULL.

leave ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.