PDA

Просмотр полной версии : GUI в С++ - с чего начать?


Дикс
27.12.2009, 21:35
Не хочу юзать громоздкий Qt, а wxwidgets вылетает по непонятной причине

подскажите, с помощью чего и главное как сделать простое GUI приложение на С++?

готов заплатить за урок по аське
первая цель - сделать гуи с кнопкой и разобраться как на эту кнопку вешать вызов функции

icq 86 77 6 690

Retimiled
27.12.2009, 21:40
ТУть (http://www.firststeps.ru/)

Gar|k
27.12.2009, 21:50
а под какую систему пишешь?

Forcer
27.12.2009, 22:17
Под винду - windows forms самое лучшее. MSVS очень круто позволяет создавать интерфейс. Все довольно интуитивно и руководств в инете выше крыши. Один момент - win forms требует .net framework, если пишешь под винду - то нет проблем.

_antony
27.12.2009, 22:33
я тут по шагам описал как это сделать.
http://forum.antichat.ru/showpost.php?p=1574767&postcount=18

Gar|k
28.12.2009, 01:35
GUI это не по хакерски :) терминал наше всио!

Tigger
28.12.2009, 01:47
А разве на Borland C++ не тыкнул по кнопке и не появилась та нужная кнопка?
А как что вещать - это уже книги, мануалы и т.д.

nerezus
28.12.2009, 02:58
Под винду - windows forms самое лучшее. Тогда какой смысл в C++? C# уж тогда юзать - язык куда как выразительнее.

Forcer
28.12.2009, 03:22
Тогда какой смысл в C++? C# уж тогда юзать - язык куда как выразительнее.
Согласен. Просто Дикс говорил о c++.

Дикс
28.12.2009, 04:39
не хочу С#, не хочу дот нет

_antony
собрал твой пример в эклипсе, получается просто консолька, которая сразу закрывается
никаких окон

Dark_Scorpicore
28.12.2009, 11:48
Visual C++ 2008 Express норм. С формами работает на ура

nerezus
28.12.2009, 13:06
Visual C++ 2008 Express норм. С формами работает на ура MFC?)

Итак, сейчас краткий обзор для чистого C++:

MFC: небольшой рантайм(пара метров), win32/win64/winCE, не развивается, устаревшая.
VCL: минимальный рантайм(~полметра), красивая архитектура, win32, отсталая IDE и компилер, куча багов - видно, что не отлаживали IDE.
wxWidgets: ничего особо не скажу, кроссплатформ, отсутствие нормального визуального редактора. ПГШ разрабатывать на нем по моему мнению медленно, отказался от него в пользу Qt.
Qt: рантайм 10+mb, красивая архитектура, полнейший кроссплатформ, не имеющий аналогов(windows/mac/*nix/winCE/Symbian), огромный выбор IDE, самая активноразвивающаяся и перспективная.
gtkmm и прочие мелкие либы не рассматривал.

Вывод: Qt. Хотя для RAD неплохо смотрится и VCL.

Eo0
28.12.2009, 13:15
MFC?)

Итак, сейчас краткий обзор для чистого C++:

MFC: небольшой рантайм(пара метров), win32/win64/winCE, не развивается, устаревшая.
VCL: минимальный рантайм(~полметра), красивая архитектура, win32, отсталая IDE и компилер, куча багов - видно, что не отлаживали IDE.
wxWidgets: ничего особо не скажу, кроссплатформ, отсутствие нормального визуального редактора. ПГШ разрабатывать на нем по моему мнению медленно, отказался от него в пользу Qt.
Qt: рантайм 10+mb, красивая архитектура, полнейший кроссплатформ, не имеющий аналогов(windows/mac/*nix/winCE/Symbian), огромный выбор IDE, самая активноразвивающаяся и перспективная.
gtkmm и прочие мелкие либы не рассматривал.

Вывод: Qt. Хотя для RAD неплохо смотрится и VCL.
Заманчиво, сразу вбил в гугл.
О плюсах QT http://ru.wikibooks.org/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D 0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0 %BD%D0%B0_C%2B%2B_%D1%81_%D0%B8%D1%81%D0%BF%D0%BE% D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0 %B5%D0%BC_%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1% 82%D0%B5%D0%BA%D0%B8_Qt
и пример http://habrahabr.ru/blogs/qt_software/50765/ перехожу на QT, действительно очень удобно.

вот разве что "Например, мне удалось ужать:
1. QtCore4.dll - до 788 килобайт
2. QtGui4.dll - до 3.24 мегабайт." (с одного форума) - Это много.

Qwazar
28.12.2009, 14:29
MFC - это ужасно, в бородатые года приходилось использовать (но недолго)
Qt - очень удобно, Очень.

_antony
28.12.2009, 14:47
не хочу С#, не хочу дот нет

_antony
собрал твой пример в эклипсе, получается просто консолька, которая сразу закрывается
никаких окон
ну значит не правильно собрали , что я Вам могу сказать :)

Дикс
28.12.2009, 14:58
nerezus, что такое ПГШ? нагуглил только газовые пистолеты и шинообрабатывающие станки

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

видать один способ - учить win api

как думаете, пригодится?

ПС
ну значит не правильно собрали , что я Вам могу сказать

не надо пожалуйста на Вы, мы к счастью не на хабре :)

Tigger
28.12.2009, 15:09
nerezus, что такое ПГШ? нагуглил только газовые пистолеты и шинообрабатывающие станки

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

видать один способ - учить win api

как думаете, пригодится?

ПС


не надо пожалуйста на Вы, мы к счастью не на хабре :)




ПГШ - GUI на транслите )

razb
28.12.2009, 16:18
видимо все-таки придется осваивать Qt
но в нем нет смысла писать на чистом С++ и изучать буст - там уже все свое.
а мне хочется сначала научиться все делать самому, к тому же фреймворк очень сложно понять не зная толком основ
Ну дк а что ты хотел ? не зная основ сразу взятся за крупные фреймворки или в твоем понимании без гуя нельзя выучить с++ ?

Joker-jar
28.12.2009, 16:27
ТС, скачай ide code::blocks, там создай новый гуи проект - в качестве шаблона выдаст рабочий пример пустой формы на win api. А вообще, имхо, QT the best

nerezus
28.12.2009, 19:07
а мне хочется сначала научиться все делать самому Это самое глупое в программировании имхо.
Если хочется что-то сделать самому, то нужно сначала досконально знать аналогичные существуюшие решения. Только тогда может появиться ПРИЧИНА это делать и ВОЗМОЖНОСТЬ сделать это качественно.

Ra$cal
28.12.2009, 20:15
та норм. стадия велосипедостроения - естественная стадия становления любого программиста. дает много опыта. а вот когда время станет стоить денег - тогда она и завершится. так что пусть пробует =)

Дикс
28.12.2009, 20:42
Это самое глупое в программировании имхо.
Если хочется что-то сделать самому, то нужно сначала досконально знать аналогичные существуюшие решения. Только тогда может появиться ПРИЧИНА это делать и ВОЗМОЖНОСТЬ сделать это качественно.

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

>>Если хочется что-то сделать самому
тут надо добавить "сделать самому качественно и не повторяя чужих ошибок"

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

Qwazar
28.12.2009, 20:44
из твоих слов следует, что изучив основы пхп - надо сразу учиться юзать Зенд, а не писать простенький модульный движок, добавляя туда по очереди ЧПУ, поддержку темплейтов и т.д. Твой пример не соответствует тому, что написал нерезус. Жизни не хватит пройти технологии по очереди, в случае C++ . В общем, не трать время попусту, учи то, чем действительно будешь ползьзоваться.

З.Ы.
Qt можешь использовать только для GUI, а буст и всё что пожелаешь - в движке.

~Shapaev~
28.12.2009, 23:02
Думаю для простого GUI wxWidgets было бы очень хорошо ,там кстати тоже есть классы для организации многопоточности , Qt конечно вне конкуренции по качеству , ну а если только для винды будешь писать , изучи win api ,возможно напишешь свою небольшую библиотеку для легкого построения GUI.