LINUX.ORG.RU

Чем вам нравится Qt?

 ,


0

5

Вопрос к тем, кто писал до этого на Swing, Windows Forms, WPF, Gtkmm. Как вы можете заставить себя писать на Qt, в основном QtGui? Тупые layouts, невменяемый редактор форм, загадочно структурированная документация, тормозная компиляция. Вообщем претензии к С++ оставим, писать все-таки можно, но Qt...

Особенно интересно услышать мнение тех, кто долго писал на перечисленные тулкитах, но перешел на Qt и понял «это оно». Почему? Как?

P.S. Заранее отвечу на «не осилил». QtGui - тулкит для будничного формошлепания, тут нечего осиливать, не эти ваши хацкели с лиспами. Все понятно, накидал виджетов, слоты подключил, вроде работает. Но как же убого по сравнению с чем то нормальным.

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

Ну тут посмотреть надо, поставь NetBeans, потыкай формочку.

Не, это сильно долго. Пока скачаю все зависимости, пока разберусь де там формочки. Это ж надо будет еще как то AWT от swinga отличить.

Кстати я тут вспомнил за проект Qt Jambi. Это биндинг Qt к java. Так в рекламке к Jambi писали следующее:

slider.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
spinner.setValue(slider.getValue());
}
});
spinner.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
slider.setValue((Integer)spinner.getValue());
}
});

Это для swing`a

и для Jambi:

slider.valueChanged.connect(spinBox, "setValue(int)");
spinBox.valueChanged.connect(slider, "setValue(int)");

Что удобнее?

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

Дезигнер форм

VS'овский, конечно, поудобнее будет, но я же сказал - для прототипирования. Формошлёпить интерфейсы вообще зло.

Мультиплатформенность

Что из перечисленного тобой, кроме Swing, работает на 3 платформах сразу? И да, gtk на винде и маке не работает, он там просто существует, не больше.

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

Новый стандарт. И в Java тоже надо. Отсутствие - не повод плодить ужасы в строке. Хоть бы просто «value» написали

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

Новый стандарт.

А ничего, что Qt писали, когда нового стандарта еще небыло? Да и сейчас Qt4 (чего там с Qt5 не знаю) замечательно собирается компилерами, которые новый стандарт не умеют?

Если хочешь чего нового, то сравнивай уже свой swing с qml.

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

Кстати, в Swing вводить китайские порнобуквы через scim уже можно?

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

Вот и славно. Осталось выпилить препроцессор

vertexua ★★★★★
() автор топика

Qt хорош хотя бы батарейками из коробки: контейнеры там всякие, более-менее человеческие обёртки ко всему свои etc. — голые кресты ведь говно говном, а с кьютом можно хотя бы писать не проблевавшись. А с точки зрения формошлёпства, ничего в нём такого, просто под эти ваши линуксы ничего лучше нет (кроме подохшего Tk), вот и пользуются им за неимением нормальных тулкитов.

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

Под Windows это оочень редкий зверь

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

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

О, у них куча недостатков. Но по сравнению с Qt очень хорошие

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

И вообще я нуб что в Gtk что в Qt

С эгого надо было начинать свой высе^Wпост

alex_custov ★★★★★
()

потому что Qt это: 1) красивый одинаково хорошо работающий на разных ОС GUI 2) замечательные layout-ы, что ты гонишь то? всё там удобно 3) qmake, платформонезависимые pro файлы проектов - открываются на любой ОС и как правило собираются без проблем, позволяют делать настройки под разные ОС - но это и у других систем сборки есть 4) годится и для embedded и на десктоп - вот смотри: winforms на embedded Linux (ARM архитектура) - каково? а swing? быстро работает? а WPF - надо пояснять? 5) сигналы слоты, удобные классы, то как реализована работа с памятью - тоже удобно, считай чуть ли не автоматическое управление... ну я утрирую

вкратце: Qt, потому что другие платформы просто не дотягивают, вот и всё

а Java... я бы еще понял SWT, не такая кака как swing - пробовал я на нем (swing) писать - времени занимает больше, удобство и скорость ниже - я про NetBeans IDE... в общем не пошло оно, не катит

тебе в самом деле не понять ;)

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

И вообще я нуб что в Gtk что в Qt, но ведь по словам всех Qt проще и удобнее?

как насчет попробовать? ты не поймешь пока не попробуешь написать

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

если и переходить на жабку, то я бы выбрал именно SWT, потому что swing тормозит безбожно это раз, во-вторых не сильно удобный API

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

добавь 6) Qt - это не просто GUI, это ещё и сеть, SQL, XML, OpenGL, скриптование... Разумеется, всё это можно добавить и к проекту на GTK*, навьючивая внешние библиотеки, но решение с Qt выглядит более «гармоничным».

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

а вот кстати Xilinx... ранее использовали Qt, а теперь в своих новых IDE использовали Swing + http://www.jidesoft.com виджеты (базовая часть там вроде опенсорс, но виджеты платные) - интерфейс получился няшным и не тормозным

но если честно, я рад любой библиотеке и тулкиту, лишь бы они не привязывали к одной ОС и поставщику как это делал silverlight wpf winforms и winrt и прочие win-only поделия

всё что не от микрософт - всё хорошо, всё портабельно и переносимо на новые ОС

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

Я же сказал, фомошлепо-тулкиты должны быть такими что их не надо осиливать

Да нормально там в дизайнере делается всё.

false ★★★★★
()

да ничем) подскажите: есть основной поток Qt программы и порожденый тред. основной поток добавляет строчки в qt виджет (textarea вроде) и тред, периодически выпадает в корку. убираем вывод в треде - все ok. обрамляю вывод и в основном потоке и в треде мьютексом - все одно. пишут что вывод в гуй нужно делать только из основного потока. как лучше ему слать текст для вывода из треда?

quest ★★★★
()

Видимо WinForms это что-то нормальное. Ты это для галочки упомянул или чтобы опозориться?

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

TurboVision, тащемта, не забываем. BGI драйвера опять же. Резиденты в DOSе всплывающие по нажатию кнопки - они как раз обычно были .com.

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

Передача строк? Тогда я предложу писать на жабоскрипте уж сразу. GTK3?

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

Видимо WinForms это что-то нормальное. Ты это для галочки упомянул или чтобы опозориться?

А что не так с WinForms?

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

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

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

Даже не знаю с чего начать, но в общем работать с этим я бы не хотел.

Ясно.

Ну и - оно уже никому не надо, даже негрософту.

Почему не нужно? Удобная вещь для быстрого создания какой-нибудь внутренней наколенной поделки.

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

Я тоже, вот глянул на приложение в котором 10 вкладок, таблиц, подвкладок, нестандартного поведения, кастомного рендеринга виджетов и подумал «А что было бы если бы оно было на Qt?». Был бы провал

Слишком толсто.

trex6 ★★★★★
()

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

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

элементарно... (а про аргументы и данные из сигнала - тоже запросто)

и вообще, надо же додуматься менять содержимое форм и вообще GUI из потоков... документацию писали зря?

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)

загадочно структурированная документация

Оо ты чего курил?! У Qt доки лучше чем у чего угодно. Всё четко и ясно излагается, хорошо структурированно. Отличные описания ко всему, везде где нужно (и даже больше) есть отличные, наглядные примеры.

Вообщем претензии к С++ оставим, писать все-таки можно

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

Особенно интересно услышать мнение тех, кто долго писал на перечисленные тулкитах, но перешел на Qt и понял «это оно».

Купил книжку Бланшет. Ознакомился, попробовал... Это оно.

Почему?

Отличный, удобный инструмент. Годная замена этому высеру «стандартная библиотека»

Как?

Легко и с удовольствием.

Но как же убого по сравнению с чем то нормальным.

Что тебе убого?! Идеальный инструмент. Надо что-то простенького, набросал на коленке за 5 минут и в бой. Надо что сложнее отлично, наследуем имеющееся/пишем от нуля/нагромождаем имеющееся и всё.

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

Xilinx ISE и сейчас использует Qt, а вот остальные инструменты (vivado, PlanAhead, и т.д.) похоже на джаве :<.

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

Кстати часто именно не пользуются. Почему - хз, я фанат дизайнеров.

Ну как по мне, код куда нагляднее чем эта xml. К человекопарсингу оно не пригодно. Ковыряние формы в гуёвой тулзе куда как менее удобно, чем окинуть несколько строк кода. Как-то так.

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

основной поток добавляет строчки в qt виджет (textarea вроде) и тред, периодически выпадает в корку

хорошая шутка!

как лучше ему слать текст для вывода из треда?

Qt сигнал/слот. Потокобезопасен. Использовать проще паренной репы. Всё отлично документировано. Енджой кьют короче.

erfea ★★★★★
()

Когда уже наконец какой-нибудь модератор с головой перенесет эту тему в talks?

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

Два чая этому господину =)

Как раз к чайнику намылился идти))))

ЗЫ превед =)

Ку, давно не виделись... вылезти чтоль в жабер.

erfea ★★★★★
()

Это Swing-то хороший? Не смешите меня, попробуйте чуть-чуть отойти от стандартного поведения и вы утонете в его ООП-отходах, там где в Qt достаточно сменить делегат на нестандартный. Windows Forms на mono - кушает память. А про Gtkmm на Windows даже говорить не хочется.

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