LINUX.ORG.RU

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

 


0

2

Есть старое приложение на Qt. А современные убунты всё как-то на GTK. Не перевести ли на GTK нафиг? Ну раз GTK помирать не собирается и он более свободный-легковесный, то чё бы не потратить неделю?


Если на Qt4, то в принципе стоит, т.к. 4-ка фактически вымерла и больше не поддерживается нигде, даже в Debian. А вот если 5, то смысла перепиывать нет никакого, ибо единственная проблема этой версии в темах в DE, отличных от KDE. Решается это связкой qt5ct+Kvantum.

Korchevatel ★★★★★
()

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

eternal_sorrow ★★★★★
()

Современная кубунта вполне на кьюте.

Zhbert ★★★★★
()

Разрабы gtk и gnome - пожалуй, самая мерзкая часть разработчиков свободного ПО, ну кроме уэба и электрона в частности.. Если бы это была секта выпиливателей-примитивизаторов существовала как suckless никто бы и слова не сказал, но когда при поддержке ibm ребята рассчитывают линукс десктоп на пользователя с iq 80, а все что ему не удобно, то и не нужно. Тебе такая аудитория для ПО нужна?

anonymous
()

Ну раз GTK помирать не собирается и он более свободный-легковесный

…чем что?
Подсказка: Qt не аналог GTK. Аналог GTK это два модуля из Qt. Это надо учитывать при оценке «легковесности» (пруф на которую ты, конечно, не приводишь).

более свободный

Более свободный, чем LGPLная Qt? Это как?

Ну и как тут подсказали, если оно на Qt4, можно попробовать собрать под Qt5, портирование с 4 на 5 может быть достаточно лёгким.

Приложение проприетарное? Если нет, может, дашь ссылку? А то, может, уже давно аналоги есть…

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

Разрабы gtk и gnome - пожалуй, самая мерзкая часть разработчиков свободного ПО , а кто же это у нас такой вумный ? Не из кде психушки сбежал случаем? А , то что с qt4 на qt5 перешли это разве не равнозначно тому что gtk2 теперь стало gtk3 или это другое надо понимать кхм и то что libpng12 имело ли смысл делать переименование в libpng16 тем самым теряя запуск некоторых программ собранных ранее с некой поддержкой qt4. Кря кря кря нет это другое побежал целовать жопу торвальду

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

А , то что с qt4 на qt5 перешли это разве не равнозначно тому что gtk2 теперь стало gtk3 или это другое

Судя по тому, что вот тут мне товарищ отвечал про GTK (да, мопед не мой) — это действительно другое. Да, его мнение не истина в последней инстанции, если у тебя есть история успеха GTK2+3 — показывай. :)

В случае с Qt вполне реально сделать проект (и я такое делал), который будет работать и на 4, и на 5 с минимумом условных компиляций. Проблемы будут, если в проекте с Qt4 использовался QtWebkit (и для него есть порт на Qt5, правда, неофициальный).

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 2)

Как старый ГТК-шник скажу, нет, не стоит.

anonymous
()

Есть старое приложение на Qt. А современные убунты всё как-то на GTK. Не перевести ли на GTK нафиг?

Зачем?

anonymous
()
Ответ на: комментарий от eternal_sorrow

Qt обладает свойством проникать во все части приложения

Именно поэтому кути не стали моей рабочей тулзой. Покрутил, повертел, покурил мануал, да потом взял и сдал его в макулатуру.

anonymous
()

Конечно же надо переводить на flutter – это будущее.

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

Однажды эта индустрия объявила это паронаидальным шизофарическим бредом , а теперь жрет , а ты просто тот кто переобулся и понял кто настоящий создатель , но то что ты предлагаешь типа свой вариант это лишь завуалированное по скольку ты итак в отличии от других понял про что тогда была речь. А , то что где то в css прописана версия типа gtk-3 ты и так знаешь что на самом деле это gtk-2 то же самое просто по больше добавлено стилей.

anonymous
()

Лучше подожди выхода стабильных версий GTK4 и Qt6, и уже там решай. Иначе дважды придётся переписывать. Но, скажем так, если твоё Qt-приложение использует его не только для интерфейса, но и, например, для воспроизведения звука (Qt multimedia), то легче будет остаться на Qt.

Ну и как тут уже сказали, GTK и Qt ± одинаковы по свободности.

anonymous
()
Ответ на: комментарий от X512

GTK опять что-то поломают.

Ну если вот API, то GTK-то как раз в рамках мажорной ветки API не ломают (темы - это не API, да и то по-серьёзному их только 1 раз сломали). В рамках мажорных релизов - там да, ломают капитально.

Не знаю, как там будет с Qt6, но ИМХО сильно повезло, что Qt4->5 прошло относительно малой кровью. Для сравнения Qt.

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

Картонная голова заговоров же нет , объясни товагищам чем отличалось libpng12 от libpng16 и зачем надо было урезать функционал (эмулируя получение денег создание важного вида страуса посещающего супер конференции уровня ро) чего хотели добиться и чего прятали и не шмогли?

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

А , то что где то в css прописана версия типа gtk-3 ты и так знаешь что на самом деле это gtk-2 то же самое просто по больше добавлено стилей.

В css, которого в gtk-2 и нет вообще? Анон такой анон.

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

Умей это скрыть и иди к кормушке. Нету у него , у браузера тоже много чего нету.

anonymous
()

Есть свободное время и хочется поковыряться с GTK+? Переноси.

Свободного времени мало и лень ковыряться? Переноси приложение на Qt 5, он достаточно хорошо поддерживается в Ubuntu.

Куча свободного времени? Отрефакторь код приложения и отдели GUI от логики. Тогда можно будет бескровно реализовать шкурку на чем угодно, как на Qt или на GTK+, так и вообще OpenGL или Web.

Ну и совместимость с Qt 6 или GTK4 проверь. За ними будущее.

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

Именно поэтому кути не стали моей рабочей тулзой. Покрутил, повертел, покурил мануал, да потом взял и сдал его в макулатуру.

Это разумное решение, если ты пишешь линукс-эксклюзивы. Если же нужна кроссплатформенность, то под офтопиком при использовании G*-стека слишком много придётся склеивать изолентой для создания сборочной среды. А ведь это время можно было потратить на развитие своей программы.

Также я по традиции спрашиваю, есть ли в G*-стеке аналог QtSql (решение, позволяющее единообразно работать с разными СУБД). Ну и QtNetwork не так прост, как может показаться.

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

Ну начинается, СУБД и сеть прямо в гуи-тулките. Отменное жабство, но с неповторимым ароматом замшелых крестов. У здорового человека есть libgda. Хотя нужность оного тоже под сомнением, обычно работают с API конкретной СУБД и не выеживаются.

anonymous
()
Ответ на: комментарий от hobbit

Тут подход нужен к разработке тогда сможем сделать и переделать , а не куча всяких пере отмывочных астра контор именно от этого и идет зло что деньги из бюджета выделяет волдырь своим волдырям , а те волдыри сам знаешь делают больше ментеинерскую работу и пошевелить пальцем в сторону эксперементов не считают нужным и считают (что нам не доплачивают) при том эти волдыри пришли наверняка из контор типа гугла , маиков и прочих когда уже увидели наработку которую можно стырить ибо там сцепка как раз поможет сдеплоить что то новое.

anonymous
()
Ответ на: комментарий от hobbit

Кроссплатформенность тоже есть, но немного. Вообще я пару лет как выпал из мэйнстрима и подзатих в плане программизмов. Перепрыгнул взад на железячнну и низкий уровень. Но не насовсем, вестимо, а для переосмысления и приспособления к изменившимся условиям.

придётся склеивать изолентой

Именно так. Но мы не ищем лёгких путей и простых решений. :-D

аналог QtSql

Такого же точно, но в шашечку? Нету.

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

обычно работают с API конкретной СУБД и не выеживаются

ГТК для коммерческих разработок подходит плохо. Кути с этой задачей справляются куда лучше. Собсна, кресты и были придуманы Страуструпом как средство, обеспечивающее rapid development. Поэтому все ходовые интерфейсы в кутях вероятно есть. Но это не значит, что их невозможно создавать в ГТК. Если чел хочет, чтобы как в дельфях, формочки нашлёпал и адью, то ему надо на кути.

anonymous
()

Все правильно понимаешь, особенно по части свободности, добавить нечего, если хочешь - перепиши.

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

paramon
()
Ответ на: комментарий от anonymous

СУБД и сеть прямо в гуи-тулките

Причём здесь гуи-тулкиты?
Прочти, например, мой комментарий выше и не повторяй чужую чушь.

А вот за наводку на libgda спасибо:

at the moment supports SQLite (and SQLCipher), MySQL, PostgreSQL, MSAccess, Berkeley Db (and is SQL extension), Oracle and JDBC (allows access to any database through a JDBC driver), work is in progress for other database types (such as Firebird).

Не факт, что я буду на этом писать, но на заметку возьму. Кстати, вопрос этот я на ЛОРе задаю уже третий раз, но ты первый, кто посоветовал что-то похожее.

P.S. Но как выяснилось, ещё в 2013 году человек их сравнивал, и сравнение вроде как оказалось не в пользу libgda:

Демонстрационный пример создает таблицу, добавляет записи, меняет записи, удаляет записи и все это длится примерно секунду, что как-то неприемлемо. Кроме прочего, модели libgda несовместимы с моделями Gtk+ и как слой совместимости предлагается использовать libgda-ui, который, как мне показалось совсем уж кривой.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 7)
Ответ на: комментарий от anonymous

Если чел хочет, чтобы как в дельфях

То есть delphi, и свободный lazarus. А для gtk есть gtkmm.

paramon
()
Ответ на: комментарий от hobbit

Также я по традиции спрашиваю, есть ли в G*-стеке аналог QtSql

А чем он лучше других библиотек? (Которые можно подключить к gtk приложению)

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

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

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

есть ли в G*-стеке аналог QtSql

Ну, кстати, тут вспомнили, в Lazarus-е есть с мордами хоть GTK хоть Qt. Значит, чисто технически, ничто не мешает, но никому не нужно. Ну как-минимум никому, кто мог бы запилить.

Qt как-бы уже давно не GUI-фреймворк, а платформа построения приложений. Примерно как 1С, только не СУБД.

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

Мне вот только что анонимус выше рассказал про libgda, других масштабируемых аналогов не знаю.

Вот в разы лучше чем QtSql: https://github.com/rbock/sqlpp11

Хоть не нужно запросы в строках писать.

Но до type providers из F#, конечно не дотягивает…

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

Спасибо за наводку. Покурю на досуге.

anonymous
()
Ответ на: комментарий от fsb4000

Всё любопытнее и любопытнее. Когда я 4 года назад тут расспрашивал, как готовить кроссплатформенность в GTK, мне никто не рассказал ни про libgda, ни про sqlpp11. Уж libgda тогда точно существовала…

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

Ну а самому найти не судьба? Если нужны батарейки под гтк, то исследуй гномостек. Там очень много всякого ненужно, почти как в культях, только разнесено по разным либам, а не скомкано в один огромный комок. Другой вариант, это использовать гтк из питона. А предъявы «в гтк нет клиента к субд» выглядят очень забавно. Там и не должно быть ничего такого. Это культи изображают мегакомбайн в духе дотнета, но не дотягивают конечно даже до питона.

anonymous
()
Ответ на: комментарий от eternal_sorrow

Я старался этого избегать, но да, это бесит. Некая тяжесть и мохнатая лапа загребущая всюду.

pilobar
()

портируй - лучше gtk ничего не придумали

Gennadevich
()
Ответ на: комментарий от hobbit

Все-таки независимые абстракции для сети и БД должны быть на уровне языка разработки, а не тулкита. Иначе с С++ никогда не соскочить. Ну или будешь носиться как придурок со своим QSql между успешными пользователями Diesel ORM

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

Это культи изображают мегакомбайн в духе дотнета, но не дотягивают конечно даже до питона.

Летели два крокодила, один синий, другой на север, ага. Сравнивать фреймворк, ЯП и ещё один фреймворк, но в другом смысле, это аналитика 80 уровня.

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

Все-таки независимые абстракции для сети и БД должны быть на уровне языка разработки, а не тулкита.

Кому должны?

Иначе с С++ никогда не соскочить.

А это самоцель? Не говоря о том, что Qt это не только C++.

Ну или будешь носиться как придурок

Всё, убойный аргумент…

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

Во посмотрел на этот Diesel, там тоже запросы не пишутся строками.

http://diesel.rs/guides/getting-started/

Это тренд.

Аноним ты сам видел как выглядят type provider?

https://raw.githubusercontent.com/fsprojects/SQLProvider/master/docs/files/sqlprovider.gif

https://fsprojects.github.io/SQLProvider/

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

qt5ct

Когда уже завезут единый теминг всех тулкитов? Если оно будет на каком-нибудь условном qml, я буду только за, ибо темы gtk2 адище, а темы gtk3 регулярно ломают (слава Котоне, у меня на gtk3 только терминал, в котором дефолтная Adwaita не отсвечивает).

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

Когда уже завезут единый теминг всех тулкитов?

Одна тема для всех тулкитов вряд ли поможет, уж сильно сложно будет такое запилить. А вот если бы разработчики GTK-окружений перестали кривляться и запилили поддержку тем для Qt-приложений (как в KDE с GTK-приложениями), тогда наступил бы мир и гармония ценой чистоты крови магов из Хогвартса добавления поддержки «расово несвободного» (по мнению «гномеров») Qt «искаропки».

слава Котоне

Кому?

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

Одна тема для всех тулкитов вряд ли поможет, уж сильно сложно будет такое запилить.

Это я понимаю. Как и то, что никогда не настанет Ein Toolkit всея UNIX-like.

если бы разработчики GTK-окружений перестали кривляться

Виноваты не все окружения, а конкретно GNOME. Они употребляют тяжёлые вещества которые никогда не отпустят.

слава Котоне

Кому?

“Ave Catanas!”, “Hail Catan!”, «Слава Котоне!»… :3

---

А Kvantum выглядит (не столько внешне, сколько функционально) круто, попробую прикрутить к… немногим (но их больше чем приложений на gtk3!) приложениям на Qt5.

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

“Ave Catanas!”, “Hail Catan!”, «Слава Котоне!»… :3

Никогда бы не догадался. O_o Вначале вообще подумал, что это какая-то анмешная девочка.

Виноваты не все окружения, а конкретно GNOME. Они употребляют тяжёлые вещества которые никогда не отпустят.

Ага, вот только ни MATE, ни Xfce, ни даже Cinnamon такой банальной вещи, как настройка «кутёвых» тем, не имеют. Даже LXQt не имеет, так-то.

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

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