Комментарии 23
Какой-то поток сознания и героическая борьба против чтения документации. https://doc.qt.io/qt-6/custom-types.html
Для кт4 стоит смотреть в архив https://doc.qt.io/archives/qt-4.8/qt-tools-customtype-example.html
Какой-то поток сознания и героическая борьба против чтения документации
Мне тоже показалось сначала, что можно обойтись через пользовательский тип QVariant, но это не работает, это не решит проблему с VT_CY. Нужно добавлять именно тип Core Type.
Чтобы этот код работал у кого-то ещё, нужно тягать за проектом (и собирать ручками) целый пропатченый Qt ! Ради этого мелкого типа такое городить - немыслимо.
Чтобы этот код работал у кого-то ещё, нужно тягать за проектом (и собирать ручками) целый пропатченый Qt ! Ради этого мелкого типа такое городить - немыслимо
Я сам себе капитан, не работаю в команде, делаю готовый софт под ключ, фулстек разработка. Поэтому у меня не проблем в форком Qt. Давно форкнул, дано добавил нужный мне функционал, давно не надеюсь, что разрабы Qt угадают мои желания.
У нас ещё Qt4.8.1
Скажите пожалуйста, какие такие бизнес процессы мешают обновлять собственную кодовую базу под современные версии используемого стека? Как часто такое встречается в индустрии? Это вопрос не лично даже к вам, но и к аудитории.
Вы кстати случайно модулем qt3-compat не пользуетесь ещё?
Если бизнес принадлежит не вам и не вы несёте финансовые риски при затратах на поднятие версий тулкитов, то и не вам принимать такие решения, сколько угодно сильно бы они вам не мешали. Понаприходют щеглы со своими Cursor'ами к спецам, которые пилят системы ICE 1 и ICE 2 под Windows 3.11 в системах управления поездам, и потом носами вертят, что им что-то не нравится. А между тем эти системы приносят стабильно бабки немецкой железной дороге ни один десяток лет. Приди сломай всё, ну.
Если бизнес принадлежит не вам, то и не вам принимать такие решения
Владельцы бизнесов обычно нанимает экспертов на руководящие должности с делегированием полномочий, и самостоятельно не принимают подобные решения.
спецам, которые пилят системы ICE 1 и ICE 2 под Windows 3.11
Вопрос к компетенциям тех спецов, выбравших виндовс 3.х впользу систем типа OS/2 или Соларис в те времена.
приносят стабильно бабки
Хаха, тем временем дб убыточна и разрабатывает план, как вернуться к доходности к 2027-му.
Приди сломай всё, ну.
Как можно ещё сломать это?
https://www.dw.com/en/over-a-third-of-deutsche-bahn-long-distance-trains-late/a-71215006
Приди сломай всё, ну.
Не сломаешь , не узнаешь как работает...
Но я никогда не стремился работать в больших конторах, не мое, меня вообще туда пускать нельзя...
Я всегда работал на себя, сам создавал, сам продавал, сам потреблял - упрощённая схема.
Обратите внимание, что целью этой статьи является просто лайфхак Qt, чтобы решить конкретную проблему, и она была решена. Может кому-то когда-то окажется полезным, не более того.
Если вы почитаете другие статьи про кутэ этого автора и комментарии к ним, то поймёте, что человек просто не хочет либо боится учить что-то новое. Возможно при всей своей экспертизе он просто не осилил. Либо не понимает насколько далеко вперёд ушла современная разработка. Ну или это его хобби - возиться с давно устаревшими проектами. Ну знаете, как есть энтузиасты, которые старое железо восстанавливают, программируют под дос или изучают Кобол. Мне только непонятно, почему это велосипедостроение поверх мёртвой стюардессы преподносится как что-то современное.
По теме: Qt5 вот вот прекратят поддерживать. Qt6 на днях выкатили версию 6.9. Я начинал с версии 4.5 в своё время, в том числе несколько раз отвечал за миграции. Порой это было достаточно больно из-за экзотических велосипедов (в основном связанных с интеграцией OpenGL и MFC). Да, до сих пор есть приложения которые используют микс из c++20, Qt6 и MFC, но надо просто уметь их готовить и понимать основы :). Могу сказать что для работы с виджетами в Qt6 по сравнению с 5 версией практически ничего нового не завезли. Но в то же время там достаточно много доработок ядра. Ну и минимально поддерживаемый компилятор теперь C++17. А вот даже просто скомпилировать Qt4 на том же (официально устаревшем) windows 10 это тот ещё квест. Автор это делает вручную на своей локальной машине, насколько я помню, а вот всякими CI и автотестами там даже и не пахнет. Не говоря уже о том, что для патчинга Qt4 порой нужно учитывать нюансы C++98.
Даже самый консервативный бизнес, действующий по принципу «работает - не трогай» резко находит деньги/ресурсы на миграцию на современные версии как только сталкивается с техническими проблемами, которые не решаются в рамках Qt4 без переписывания большей части фреймворка. Например: нормальная поддержка HiDpi, accessibility и многомониторных систем. Автор просто пока с этим не сталкивался.
У меня на сегодня простая задача- пишу десктоп под виндой для побития чеков на ккт и принятия карт банковскими картами (это РФ если что). Программа интегрируется с облачными решениями, частично реализована на сервере в интернете.
Народ пользуется, платит. Платит в основном за то, чтобы оборудование работало как-надо, маркировка, агенты,коррекции и т.д.
Сказать, что я доволен - ничего не сказать. Все идёт своим чередом. Мне от Qt6,7,8 в принципе до сих пор не могу понять - что надо... Все меня устраивает, а если надо решить вопрос c VT_CY, ну решил и забыл.
Qt-то у меня давно форкнутый... Терять-то мне нечего.
Вместо форка вы могли бы напрямую в кутэ контрибьютить. А если это слишком сложно, то как правило говорит о том что у вас обычный хэндмэйд решающий узкую задачу, а не то что могло бы быть полезно опупенсорс комьюнити.
С этого и стоит начинать статью: мол я продаю древний софт под древнее железо для очень специфических нужд. Иногда патчу собственный форк который сделал 15 лет назад и который с тех пор безнадёжно устарел от основного репозитория. Это не нужно 99.99% пользователям кутэ, но я хочу чтобы об этом узнал Хабр <тут попробовать придумать причину>.
Уж извините за резкость, то что вы пишите это лучше чем хлам от чатгпт, но всё равно слабовато для Хабра, как мне кажется. И вы неплохо уходили в соседних постах от ответов на прямые вопросы, которые могли бы поменять ваше мировоззрение.
Резюмирую список вопросов:
Почему вы не контрибьютите в опенсорс кутэ, а вместо этого ведёте свой проприетарный форк?
Почему вы думаете, что без поддержки современных версий компиляторов и Qt ваше творчество на Хабре будет полезно?
Как обстоят дела с автоматизацией сборки вашей версии кутэ, можно ли её собрать в современном окружении?
Что осталось от кросс-платформенности, какие ОС поддерживаете? Основная ценность кутэ ведь именно в этом.
Резюмирую список вопросов:
Почему вы не контрибьютите в опенсорс кутэ, а вместо этого ведёте свой проприетарный форк?
Почему вы думаете, что без поддержки современных версий компиляторов и Qt ваше творчество на Хабре будет полезно?
Как обстоят дела с автоматизацией сборки вашей версии кутэ, можно ли её собрать в современном окружении?
Что осталось от кросс-платформенности, какие ОС поддерживаете? Основная ценность кутэ ведь именно в этом.
У меня к вам встречный вопрос - какую проблему мы решаем?
Решаем проблему содержания вашей статьи и отсутствия в ней вводного сообщения о том, что вы решаете много лет несуществующую проблему из-за того что более 15 лет не актуализируете свой стек разработки.
Решаем проблему содержания вашей статьи и отсутствия в ней вводного сообщения о том, что вы решаете много лет несуществующую проблему из-за того что более 15 лет не актуализируете свой стек разработки.
Это не проблема! Уже сделал заголовок жирным текстом, теперь вы удовлетворены?
А вот даже просто скомпилировать Qt4 на том же (официально устаревшем) windows 10
Не обнаружил никаких проблем.
Автор это делает вручную на своей локальной машине, насколько я помню, а вот всякими CI и автотестами там даже и не пахнет.
Интересно а вы на какой машине это делаете?
Что вы называете всякими CI автотестами? Может просто код надо правильно писать?
Я никого н агитирую за "устаревший" фреймворк, вас просто на работу не возьмут, если вы такое скажете.
Я ещё раз отмечу, что есть проблема и есть ее решение. И мне не интересно решена она в Q6,7 и т.д.
А может она там и не решена? А может это и не проблема? Да какая разница...
Я практик, мне важен результат.
Ну так вам нужен быстрый результат. Есть разница между кратко- и долгосрочным планированиями. Я вообще считаю, что вы разумны и в состоянии выбрать свою стратегию исходя из собственных оценок выгоды и риска. И поэтому вы делаете всё правильно по умолчанию.
В крайних случаях, однако, может произойти ситуация, когда вдруг надо добавить поддрежку последней макоси на арме. И приплыли, придётся разбираться в нюансах разных версий хкод сдк, сборки кт модулей, конфигов для оных, своих костылей. И ничего, можно осилить, если бы не одно но: эта работа уже была сделана разработчиками кт и можно было её не делать повторно.
Ваших проблем не будет при выборе современных инструментов.
del
Чего-то хабр сломал мне ответы на комментарии, разбираюсь
Вроде заработало
Как добавить в Qt QVariant свой тип данных Currency (он же Decimal)