Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.68
MaxCPP
0 / 0 / 0
Регистрация: 26.07.2013
Сообщений: 9
#1

Какую GUI библиотеку выбрать? - C++

28.09.2014, 18:11. Просмотров 3355. Ответов 56
Метки нет (Все метки)

Библиотеки визуальных компонентов очень громоздки, особенно Qt - 10 мб Hello World смех, да и только. Руганный-переруганный C++ Builder 2003 года и то создаёт лишь 600 кб файл. Есть нормального размера библиотека?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2014, 18:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Какую GUI библиотеку выбрать? (C++):

Какую библиотеку использовать под GUI? - C++
Подскажите какую библиотеку использовать лучше/удобнее.Я слышал только про Qt, WTL, GTK. Или все же WinAPI изучать?

Какую графическую библиотеку выбрать? - C++
Господа ветераны, поделитесь опытом какую графическую библиотеку лучше выбрать для программирования 2D игр (OpenGL, DirectX, другое...)? ...

Какую json библиотеку выбрать? - C++
Здравствуйте, делаю я небольшой парсер, ответ получаю в json формате. Решил поискать в интернете какую либу лучше использовать для работы с...

Какую библиотеку выбрать для вращения тетраэдра в окне программы? - Visual C++
Написать программу под действием стрелок "Вправо", "Влево" Вращать тетраэдр в окне программы. Варианты библиотек: GDI+ WPF ...

Подскажите GUI библиотеку на c++ - C++
Начал давеча изучать c++, разобрался с основными функциями и тп., но хочется создавать GUI приложения. Оказывается сам c++ не может делать...

Подскажите библиотеку GUI, реализующую графический интерфейс - C++
Доброй ночи. Подскажите, пожалуйста, лёгкую и простую библиотеку реализующую графический интерфейс. Сам интерфейс примитивен - пара кнопок...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Evg
Эксперт CАвтор FAQ
17618 / 5842 / 375
Регистрация: 30.03.2009
Сообщений: 16,118
Записей в блоге: 26
30.09.2014, 18:58 #16
Цитата Сообщение от Avazart Посмотреть сообщение
Еще как получим, но только если это пакет программ, а не одна единственная программуленка
Пока ты не крупная контора по выпуску промышленного софта, а всего лишь любитель, который клепает программы, которые по большому счёту и задаром никому не нужны, я бы попросту не лез в варианты с динамической линковкой с библиотеками, которые являются опциональными. Людям и так твоя программа не нужна, а напрягать их дополнительными телодвижениями ради её запуска - смысла нет
Avazart
Эксперт С++
7145 / 5322 / 275
Регистрация: 10.12.2010
Сообщений: 23,556
Записей в блоге: 17
30.09.2014, 19:17 #17
Пример: написал уже несколько приложений под заказ которые используют браузер, пока что только на C++Builder+ TCromium - собственно тянется ~40 MБ от TCromium, но думаю с таким же успехом можно было использовать Qt и его Webkit.

И людей не смутил такой размер, более того не требовали написать инсталятор, главное что бы работало.
Evg
Эксперт CАвтор FAQ
17618 / 5842 / 375
Регистрация: 30.03.2009
Сообщений: 16,118
Записей в блоге: 26
30.09.2014, 19:49 #18
Цитата Сообщение от Avazart Посмотреть сообщение
Пример: написал уже несколько приложений под заказ которые используют браузер, пока что только на C++Builder+ TCromium - собственно тянется ~40 MБ от TCromium, но думаю с таким же успехом можно было использовать Qt и его Webkit
Я так понимаю, что это под виндой. Там всё-таки система установки более дружественна к пользователю и нету свей этой чехарды с пакетами и зависимостями. Не надо ковыряться с тем, что "а вот запустите apt-get <чего-то там>, оно вам за полдня скачает миллион библиотек, после чего вы можете запустить мой hello world"

Цитата Сообщение от Avazart Посмотреть сообщение
И людей не смутил такой размер
Мне так вообще пофиг на размер. В наши дни лишние 10 мегабайт - это тьфу. Я как раз-таки ратую за то, чтобы сокращать количество гемора и плевать, сколько лишних мегабайт от этого будет. Т.е. можно собрать динамически слинкованный hello world размером 13 килобайт и радоваться, что бинарник маленький, а можно собрать статически слинованный на 10 мегабайт и радоваться тому, что отдал людям бинарник, они его берут и тупо запускают, безо всяких дополнительных телодвижений
Avazart
Эксперт С++
7145 / 5322 / 275
Регистрация: 10.12.2010
Сообщений: 23,556
Записей в блоге: 17
30.09.2014, 19:57 #19
Цитата Сообщение от Evg Посмотреть сообщение
ам всё-таки система установки более дружественна к пользователю и нету свей этой чехарды с пакетами
Ну-ну... вы вероятно винду не разу не переставляли, когда нужно заново переставить не одну программу а целый пакет программ.
А учитывая что в основном все ставится через оконные инсталяторы то нужно сидеть целый день и тыкать по кнопочкам да/нет.
Уже не говорю о поисках в интернете.
DrOffset
7089 / 4230 / 950
Регистрация: 30.01.2014
Сообщений: 7,006
30.09.2014, 19:57 #20
Цитата Сообщение от Evg Посмотреть сообщение
Не надо ковыряться с тем, что "а вот запустите apt-get <чего-то там>, оно вам за полдня скачает миллион библиотек, после чего вы можете запустить мой hello world"
Мое мнение может быть предвзято, но я всегда считал, что концепция пакета в linux с единой базой и информацией об установленном софте, гораздо более качественная, чем концепция разношерстных и непонятно что и куда устанавливающих, нестандартизированных установщиков в винде.
Т.е. на мой взгляд, более дружественная таки концепция пакетов linux, хоть виндовая изначально и обладает более красивым "лицом".
Evg
Эксперт CАвтор FAQ
17618 / 5842 / 375
Регистрация: 30.03.2009
Сообщений: 16,118
Записей в блоге: 26
30.09.2014, 21:27 #21
Цитата Сообщение от Avazart Посмотреть сообщение
Ну-ну... вы вероятно винду не разу не переставляли, когда нужно заново переставить не одну программу а целый пакет программ.
А учитывая что в основном все ставится через оконные инсталяторы то нужно сидеть целый день и тыкать по кнопочкам да/нет.
Уже не говорю о поисках в интернете
Я всё-таки не в глобальном масштабе говорю, а в масштабе одного приложения, которое ещё и написано начинающим любителем. Хотя и в глобальном смысле мне кажется, что для неподготовленного пользователя куда проще нажимать на кнопки "да/нет", чем производить интеллектуальные вещи типа "apt-get". По опыту общения с пользователями у меня давно сложилось стойкое ощущение, что люди готовы потратить в 10 раз больше времени, выполняя более-менее понятные действия, чем делать всё быстро, не понимая при этом почти ничего

Цитата Сообщение от DrOffset Посмотреть сообщение
Мое мнение может быть предвзято, но я всегда считал, что концепция пакета в linux с единой базой и информацией об установленном софте, гораздо более качественная, чем концепция разношерстных и непонятно что и куда устанавливающих, нестандартизированных установщиков в винде.
Т.е. на мой взгляд, более дружественная таки концепция пакетов linux, хоть виндовая изначально и обладает более красивым "лицом".
Для админа и специалиста, в условиях централизованно разрабатываемого софта - скорее всего да. Если мы исходим из того, что любитель написал программу и отдаёт её другому любителю - то нет. А ведь именно это для основной массы посетителей форума, особенно среди тех, кто не знает, какую библиотеку выбрать, является значимым случаем.

Как-то вопрос "статическая vs динамическая линковка" начинает плавно сползать в миллион раз обсуждённые холивары "windows vs linux"

Начали всё с того, что под линуксом якобы бинарник имеет размер 13 килобайт, а под виндой 10 мегабайт. Я считаю, что нужно один раз понять, откуда берутся явные лишние 10 мегов под виндой (и неявные те же самые 10 мегов под линуксом), а потом больше не заморачиваться вопросом размера полученного бинарника при выборе графической библиотеки
Avazart
Эксперт С++
7145 / 5322 / 275
Регистрация: 10.12.2010
Сообщений: 23,556
Записей в блоге: 17
30.09.2014, 21:36 #22
Цитата Сообщение от Evg Посмотреть сообщение
что для неподготовленного пользователя куда проще нажимать на кнопки "да/нет", чем производить интеллектуальные вещи типа "apt-get".
Ну не вижу ничего интелектуального в наборе строчки текста, что касается подобных "пользователей" то им вообще не стоить доверять что ибо устанавливать- обрезать права, и опять же обрезать права легче под Linux.
Evg
Эксперт CАвтор FAQ
17618 / 5842 / 375
Регистрация: 30.03.2009
Сообщений: 16,118
Записей в блоге: 26
30.09.2014, 21:39 #23
Цитата Сообщение от Avazart Посмотреть сообщение
Ну не вижу ничего интелектуального в наборе строчки текста
Это лично ты не видишь. А вот много людей, которые видят, и максимум, на что они готовы - это запустить скрипт "сделать_штоб_фсё_было_хорошо.sh"
Avazart
Эксперт С++
7145 / 5322 / 275
Регистрация: 10.12.2010
Сообщений: 23,556
Записей в блоге: 17
30.09.2014, 21:47 #24
Ну я не вижу проблем, в Ubuntu можно через GUI устанавливать.
Evg
Эксперт CАвтор FAQ
17618 / 5842 / 375
Регистрация: 30.03.2009
Сообщений: 16,118
Записей в блоге: 26
30.09.2014, 21:50 #25
Если желаешь, давай с тобой проведём эксперимент, описанный в посте #9
Avazart
Эксперт С++
7145 / 5322 / 275
Регистрация: 10.12.2010
Сообщений: 23,556
Записей в блоге: 17
30.09.2014, 22:13 #26
Цитата Сообщение от Evg Посмотреть сообщение
Можем поэкспериментировать. Я на работе сижу под линуксом. Без админских прав. Собери мне динамический hello world и отправь в виде бинарника. Просто интересно, сколько времени у нас уйдёт на то, чтобы этот бинарник запустить (можем предположить, что я простой пользователь и сам до многих вещей не догадаюсь). И получим ли мы от этого какой-то выигрыш в количестве мегабайт
Какой-то мягко говоря неадекватный эксперимент.
Во-первых если нет прав то все приплыли...
Во-вторых бинарник? Кто передает бинарник? Передают пакет,инсталятор итп.
Если вам дать экзешник под виндой который имеет зависимости от DLL-лок вы тоже долго будете собирать все DLL-ки и вполне вероятно так и не соберете.
Evg
Эксперт CАвтор FAQ
17618 / 5842 / 375
Регистрация: 30.03.2009
Сообщений: 16,118
Записей в блоге: 26
30.09.2014, 22:29 #27
Цитата Сообщение от Avazart Посмотреть сообщение
Во-первых если нет прав то все приплыли...
Как это приплыли? Собери статический бинарник, отправь мне и я его спокойно запущу и всё будет работать. Твои затраты при этом будут почти нулевыми

Цитата Сообщение от Avazart Посмотреть сообщение
Во-вторых бинарник? Кто передает бинарник? Передают пакет,инсталятор итп.
Да передай мне что угодно, лишь бы я без рутовых прав и интеллектуального напряжения мозга запустил этот hello world

Цитата Сообщение от Avazart Посмотреть сообщение
Если вам дать экзешник под виндой который имеет зависимости от DLL-лок вы тоже долго будете собирать все DLL-ки и вполне вероятно так и не соберете
Ну как это так? Вот у меня на работе была удалённая винда и неадминская учётная запись под ней. Я вот взял дистрибутив qutim'а (который на qt написан) и установил. Всё работало, админов звать не надо было (они бы меня послали куда подальше с такими запросами), никакие dll'ки не собирал, ничего никуда не прописывал, никаких отдельных qt не устанавливал.

Точно так же ты под линуксом можешь выслать большой набор файлов (бинарник + все динамические библиотеки), скрипт-пускач, который настроит LD_LIBRARY_PATH и запустить динамически слинкованную программу. При этом результат будет ровно таким же, только с большими затратами с твоей стороны

Ну вот примерно с этой позиции я и говорил о том, что для начинающего нет ничего страшного в том, чтобы пользоваться статической линковкой (читай получать толстые бинарники). И 13-килобайтный бинарник под линуксом против 10-мегабайтного под виндой это не есть какой-то дефект винды, а скорее какие-то дефолтные настройки в Qt'шной IDE под винду (тут я могу только гадать, т.к. под виндой почти не имею опыта программирования)
Avazart
Эксперт С++
7145 / 5322 / 275
Регистрация: 10.12.2010
Сообщений: 23,556
Записей в блоге: 17
30.09.2014, 22:43 #28
Цитата Сообщение от Evg Посмотреть сообщение
И 13-килобайтный бинарник под линуксом против 10-мегабайтного
Кто сказал? Лично я не верю в такое, скорее всего под линуксом собиралось не статически.

Добавлено через 1 минуту
Цитата Сообщение от Evg Посмотреть сообщение
Да передай мне что угодно, лишь бы я без рутовых прав и интеллектуального напряжения мозга запустил этот hello world
А под видной вы можете запустить без админских прав инсталятор мм?
gng
639 / 485 / 133
Регистрация: 08.09.2013
Сообщений: 1,304
30.09.2014, 23:51 #29
Цитата Сообщение от Avazart Посмотреть сообщение
Я на работе сижу под линуксом. Без админских прав. Собери мне динамический hello world и отправь в виде бинарника.
Собрал динамически из кода, предложенного в одном из первых постов. У меня запустился сразу на всех 64 бит системах с иксами. Таких в легком доступе нашлось около тяти. Это различные версии дебиана (5, 6, 7)и сентоса (6,7).

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

Добавлено через 6 минут
Вдогонку.... Размер получился 12K

Добавлено через 5 минут
Извиняюсь. Автора цитаты поставил ошибочно, сообщение адресовано Evg,
Avazart
Эксперт С++
7145 / 5322 / 275
Регистрация: 10.12.2010
Сообщений: 23,556
Записей в блоге: 17
30.09.2014, 23:55 #30
Цитата Сообщение от gng Посмотреть сообщение
Вдогонку.... Размер получился 12K
Ну под виндой простенькое приложение ~50К если динамически(без учета библиотек,только exe)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2014, 23:55
Привет! Вот еще темы с ответами:

Какую библиотеку использовать? - C++
Только начал изучение Си. Нужно написать программу, которая выводит сегодняшнюю дату в формате дд.мм.гггг Собственно, вопрос в сабже...

какую библиотеку подключить? - C++
в студии 10 невидет cin i cout что изенить? // lllab.cpp: определяет точку входа для консольного приложения. // ...

Какую с++ библиотеку VK-API использовать лучше? - C++
понадобилось написать клиент для вк с использованием апи... подскажите билиотеку, пожалуйста, и метод её установки в G++ и vs2010... ...

Подскажите какую нужно подключить библиотеку - C++
я использую функцию bzero( (void *)board, MAX_LENGTH*MAX_LENGTH); написанно в книге, что это базовая функция очистки памяти. Но вылетает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.09.2014, 23:55
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru