LINUX.ORG.RU

Что не так с QT?

 ,


0

3

Полистал форум, переодически вижу высказывания «ФУУУУ, ЭТА ШТУКА ИШО И НА QT, НАФИГАААА». Между тем qt кроссоплатформен и есть даже на ведро, работает тоже норм. Проги на QT как по мне выходят куда симпатичнее и писать проще. Хотя последнее скорее дело привычки. А вы видели GTK под windows? Кошмар же.

Выскажите пожалуйста реальные доводы «за» и «против». Я обновляю знания и мне очень интересно понять что не так. Особенно после GTK3 и третьегнома с его всеми «прелестями». Прошу держать Ваше говно при себе, мне интересна продуктивная дискуссия и я не хочу чтобы тему снесли.

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

ИМХО

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

awesomebuntu
()

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

А ты вообще кто?
Если программист, то пощупай и сделай самостоятельные выводы.
Если просто пользователь, то на кой чёрт ты задаешься такими странными вопросами?

переодически вижу высказывания

Есть вещь, явление или что-то такое, что безумно тебе нравится и что ты считаешь чем-то восхитительным? Так вот, введи в поисковик фразу "(Вот эта твоя любимая штука) shit". И удивись. Не существует ничего, что периодически не обсирали бы в интернете.

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

С точки зрения мировой индустрии, десктопный софт это местечковая игрушка для 1%. Так что пишите на HTML/CSS/JavaScript, а на местных истеричек вообще внимания не обращайте.

anonymous
()

Postal_Dude, Что мешает самому создать список с ЗА и ПРОТИВ и сделать выводы? Начни с себя!

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

Да не, десктопный софт это далеко не 1%

Deleted
()

Проги на QT как по мне выходят куда симпатичнее

Я конечно понимаю, типа пусть цветут все цветы, но в данном случае нужно быть слепым обладать весьма альтернативным чувством стиля.

King_Carlo ★★★★★
()

Под windows пробовпл несколько программ на qt - лагают и тормозят, съезжают виджеты. Даже старый sim. На gtk под windows пакетят с приятной темой, интерфейс побыстрее.

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

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

Deleted
()
Ответ на: комментарий от I-Love-Microsoft

сеть - великолепно

С ssl плохо. Я не юзал всякие curl, но на D с ssl лучше дела обстоят - наличия OpenSSL 1.0 в системе не требует.

SR_team ★★★★★
()

Софт на культях на всех платформах смотрится отвратительно и ненативно.

Deleted
()

А вы видели GTK под windows?

GTK3 выглядит точно так же, как под линуксом. Чужеродно, но не так отвратно, как Qt с давно закопанным Win32.

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

оверлейные полосы прокрутки нулевой ширины

Это же неюзабельное и глючное дерьмо.

ox55ff ★★★★★
()

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

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

Ты когда последний раз смотрел? Qt давно научился мимикрировать под системную тему. В том числе и на винде.

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

Meta-Object — недоязычок поверх крестов

Откуда вы берётесь? moc - это генератор с++ кода. Код и до moc и после является обычным крестовым кодом. Никакой магии.

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

Ты когда последний раз смотрел?

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

Qt давно научился мимикрировать под системную тему.

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

В том числе и на винде.

Честно говоря, ничем не лучше, чем имитация GTK. Видно, что тулкит чужой. Может авторы GTK и не зря забили на это: Adwaita выглядит чужеродно, но не как кривая имитация. Даже наблюдал вау-эффект у пользователя Windows, запустившего Meld.

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

Под windows пробовпл несколько программ на qt - лагают и тормозят, съезжают виджеты

запомни и больше не ешь такие грибы

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от Deleted

А gtk+ выглядит как гавно в кедах. Ну и кто виноват?

RazrFalcon ★★★★★
()

Не пойму почему бы не писать правильно. Qt - так пишется то, что ты имеешь ввиду. А QT - это QuickTime, технология и продукт совсем из другой оперы.

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

Не на маке и не на линуксе точно.

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

Код и до moc и после является обычным крестовым кодом
Никакой магии.

Значит, я могу писать заклинания Q_OBJECT и <access modifier> slots и компилить это без MOC (Meta-Object Compiler)? То-то же.

moc - это генератор с++ кода

А valac это генератор С кода.

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

Qt давно научился мимикрировать под системную тему

Все ли виджеты кьют повторяет или только тот набор, что есть на всех поддерживаемых платформах? И много ли пищущих на кьюте следуют гайдлайнам платформ, под которые пишут?

Deleted
()

Qt требует костылей для конпиляции. не даром он с собой qmake таскает. это создаёт проблемы при создании биндингов.

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

Значит, я могу писать заклинания Q_OBJECT и <access modifier> slots и компилить это без MOC

Конечно. Все эти Q_OBJECT, slots, signals, emit - это просто макросы, никакой магии. Можешь посмотреть на них в файле /usr/include/qt/QtCore/qobjectdefs.h.

Я тебе больше скажу. Все твои исходники всегда компилируются напрямую c++ компилятором. MOC генерирует дополнительные файлы, которые тоже потом отправляются на вход компилятора c++. Они нужны на стадии линковки, если ты используешь сигналы и прочие фишки.

MOC (Meta-Object Compiler)? То-то же.

Ты всю свою доказательную базу строишь на неудачно выбранном названии?

moc - это генератор с++ кода


Да, это генератор c++ кода. Посмотри на любой файл moc_*.cpp в сборочной директории.

P.S. отрывок из makefile. Посмотри что чем компилируется:

moc_MainWindow.cpp: ../untitled5/MainWindow.h \
		moc_predefs.h \
		/usr/bin/moc
	/usr/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/qt/mkspecs/linux-g++ -I/home/denis/scrap/projects/untitled5 -I/usr/include/qt -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtCore -I. -I/usr/include/c++/7.1.1 -I/usr/include/c++/7.1.1/x86_64-pc-linux-gnu -I/usr/include/c++/7.1.1/backward -I/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/include -I/usr/local/include -I/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/include-fixed -I/usr/include ../untitled5/MainWindow.h -o moc_MainWindow.cpp

main.o: ../untitled5/main.cpp ../untitled5/MainWindow.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o ../untitled5/main.cpp

MainWindow.o: ../untitled5/MainWindow.cpp ../untitled5/MainWindow.h \
		ui_MainWindow.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o MainWindow.o ../untitled5/MainWindow.cpp

moc_MainWindow.o: moc_MainWindow.cpp 
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_MainWindow.o moc_MainWindow.cpp

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

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

Вы знаете... подобное отношение к ресурсам приводит к неожиданностям. У нас на работе есть шутка про «640 гигабайт памяти хватит всем», родилась она когда ВНЕЗАПНО не всем хватило 64 Гб, так что отношение вроде.

p.s.

Я, если что, все-таки любитель Qt за их простоту и настоящую кроссплатформенность (особенно актуально для embedded, хоть я им и не занимаюсь уже давно). Но считать что «на потребление ресурсов можно забить, пользователь купит комп получше» не корректно в любом случае.

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

Тем временем на большинстве макбуков/ултрабуках нет даже 32GB ОЗУ. И держать 64GB RAM только из расчёта на то, что будут использоваться приложеньки на электроне глупо и расточительно (электроэнергию RAM всё таки тоже потребляет и выделяет тепло, что опять же актуально на ноутбуках).

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

Откуда вы берётесь?

Из лекций по дслям. Ты бы тоже книжку почитал.

anonymous
()

Между тем qt кроссоплатформен и есть даже на ведро, работает тоже норм.

и какая-же МНЕ как пользователю Linux твоя кросплатформенность — может дать хоть какие-нибудь плюсы?

вкдь одни только минусы! из-за того что-то Windows-пользователи будут пытаться лабировать свои User-Guid-стандарты в эту linux-программу.

и даже если у этой Linux-программы не будет ни одного Windows-пользователя — минусы всё равно останутся, так как Qt-отрисовка не является доконца нативно выглядящей относительно стандартный Gtk-программ. а всего лишь их слегка пародирует.

anonymous
()

вот что не так:

Я обновляю знания и мне очень интересно понять что не так.

ты собрался делать Windows-программы, и заодно *бонусом* получать Linux-версию этих-же програм.

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

...но в место этого ты решил «а вдруг эти Linux-идиоты схавают моё говно и не заметят ни каких особых недостатков? ведь Linux-софт и без того кривой, значит и моя кривая программа будет не особо выделяться среди остальных кривых Linux-програм» — но нет, мы заметили.

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

и какая-же МНЕ

Как там жизнь на глобусе анонима?

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

Вангую, что авторы qb наворотили свой интерфейс.

Смешная отмазка.

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

Они нужны на стадии линковки, если ты используешь сигналы и прочие фишки

Я не думаю, что можно писать на Qt и не использовать сигналы. Так что в Qt без этого высера в виде moc видимо таки не обойтись. Не пойму, под какими грибами находились разработчики Qt, когда они высрали Meta-Object, так что я жду Qt 6, в которой выкинут это порождение сатаны. А до этого момента можно юзать GTK+ (GTKMM), где используется нормальная библиотека для реализации сигналов, которая не требует аж целой надстройки над самим языком.

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

Они думали о том, как упростить разрабам жизнь, при этом вписаться в требовать C++98/03.

где используется нормальная библиотека для реализации сигналов

Можно примеры этих сигналов?

RazrFalcon ★★★★★
()

QT не кроссплатформенен. Это такой плеер, который работает исключительно на MacOSX и Windows. Можешь не благодарить.

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

О том, как Qt работает на ведре говорит количество популярных приложений в Google Play на Qt. Оно хоть больше нуля?

Есть хелло ворлды от энтузиастов

а так же существует миф о том, что 2gis на Qt. Там сто лет назад сделали форк который несовместим вообще, а гуи все там на джаве все равно.

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

Откуда дровишки про выкидывание moc из Qt6? Не будет этого.

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

Разработчик 2gis под android? Рядом хоть стоял? Сто лет как форк закопали и юзают обычный энтерпрайзный кьют.

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

погугли форум на тему Qt 2gis android, в каждом втором сообщении в пример ставят, то что оно уже давно мертвое никого не волнует

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