Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.74/47: Рейтинг темы: голосов - 47, средняя оценка - 4.74
0 / 0 / 0
Регистрация: 26.07.2013
Сообщений: 9

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

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

Библиотеки визуальных компонентов очень громоздки, особенно Qt - 10 мб Hello World смех, да и только. Руганный-переруганный C++ Builder 2003 года и то создаёт лишь 600 кб файл. Есть нормального размера библиотека?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.09.2014, 18:11
Ответы с готовыми решениями:

Какую IDE использовать для разработки приложений с GUI?
Нужно написать программу, чтобы она нормально выглядела нужно сделать GUI, но хочу создать его в редакторе форм. QT creator скачал...

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

Какую библиотеку надо подключить для w_str в C++ Builder 6?
Не распознает функции w_str, с_str и т.д. Или подскажите другие функции для перевода из AnsiString в char

56
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
30.09.2014, 21:27
Цитата Сообщение от Avazart Посмотреть сообщение
Ну-ну... вы вероятно винду не разу не переставляли, когда нужно заново переставить не одну программу а целый пакет программ.
А учитывая что в основном все ставится через оконные инсталяторы то нужно сидеть целый день и тыкать по кнопочкам да/нет.
Уже не говорю о поисках в интернете
Я всё-таки не в глобальном масштабе говорю, а в масштабе одного приложения, которое ещё и написано начинающим любителем. Хотя и в глобальном смысле мне кажется, что для неподготовленного пользователя куда проще нажимать на кнопки "да/нет", чем производить интеллектуальные вещи типа "apt-get". По опыту общения с пользователями у меня давно сложилось стойкое ощущение, что люди готовы потратить в 10 раз больше времени, выполняя более-менее понятные действия, чем делать всё быстро, не понимая при этом почти ничего

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

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

Начали всё с того, что под линуксом якобы бинарник имеет размер 13 килобайт, а под виндой 10 мегабайт. Я считаю, что нужно один раз понять, откуда берутся явные лишние 10 мегов под виндой (и неявные те же самые 10 мегов под линуксом), а потом больше не заморачиваться вопросом размера полученного бинарника при выборе графической библиотеки
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
30.09.2014, 21:36
Цитата Сообщение от Evg Посмотреть сообщение
что для неподготовленного пользователя куда проще нажимать на кнопки "да/нет", чем производить интеллектуальные вещи типа "apt-get".
Ну не вижу ничего интелектуального в наборе строчки текста, что касается подобных "пользователей" то им вообще не стоить доверять что ибо устанавливать- обрезать права, и опять же обрезать права легче под Linux.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
30.09.2014, 21:39
Цитата Сообщение от Avazart Посмотреть сообщение
Ну не вижу ничего интелектуального в наборе строчки текста
Это лично ты не видишь. А вот много людей, которые видят, и максимум, на что они готовы - это запустить скрипт "сделать_штоб_фсё_было_хорошо.sh"
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
30.09.2014, 21:47
Ну я не вижу проблем, в Ubuntu можно через GUI устанавливать.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
30.09.2014, 21:50
Если желаешь, давай с тобой проведём эксперимент, описанный в посте #9
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
30.09.2014, 22:13
Цитата Сообщение от Evg Посмотреть сообщение
Можем поэкспериментировать. Я на работе сижу под линуксом. Без админских прав. Собери мне динамический hello world и отправь в виде бинарника. Просто интересно, сколько времени у нас уйдёт на то, чтобы этот бинарник запустить (можем предположить, что я простой пользователь и сам до многих вещей не догадаюсь). И получим ли мы от этого какой-то выигрыш в количестве мегабайт
Какой-то мягко говоря неадекватный эксперимент.
Во-первых если нет прав то все приплыли...
Во-вторых бинарник? Кто передает бинарник? Передают пакет,инсталятор итп.
Если вам дать экзешник под виндой который имеет зависимости от DLL-лок вы тоже долго будете собирать все DLL-ки и вполне вероятно так и не соберете.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
30.09.2014, 22:29
Цитата Сообщение от Avazart Посмотреть сообщение
Во-первых если нет прав то все приплыли...
Как это приплыли? Собери статический бинарник, отправь мне и я его спокойно запущу и всё будет работать. Твои затраты при этом будут почти нулевыми

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

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

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

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

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

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

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

Добавлено через 5 минут
Извиняюсь. Автора цитаты поставил ошибочно, сообщение адресовано Evg,
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
30.09.2014, 23:55
Цитата Сообщение от gng Посмотреть сообщение
Вдогонку.... Размер получился 12K
Ну под виндой простенькое приложение ~50К если динамически(без учета библиотек,только exe)
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
01.10.2014, 09:27
Цитата Сообщение от Avazart Посмотреть сообщение
Кто сказал? Лично я не верю в такое, скорее всего под линуксом собиралось не статически
См. пост N5. Естественно, была динамическая сборка. Мне и тебе это понятно, а вот начинающим не всегда просто понять, почему под линуксом 13 килобайт, а под виндой - 10 мегабайт. Собственно, у ТС возникло желание забраковать Qt именно из-за непонимания этого момента

Цитата Сообщение от gng Посмотреть сообщение
Это различные версии дебиана (5, 6, 7)и сентоса (6,7)
Ещё сильно зависит от того, в какой комплектации установить. Я вот когда-то выбрал вариант gnome вместо kde. А потом полдня скачивал интернет, потому что хотелось запустить одну из игрушек из комплекта kde. Потом помимо понятия "динамическая библиотека" есть ещё её версия. Вот соберёшь ты динамический hello world с 5-й qt (или какая там последняя), а потом долго мучаешься для запуска на машине с 4-й qt.

Сейчас вспомнил, что когда-то у нас на работе был зоопарк из машин с разными версиями линукса, там там даже просто hello world на Си не всегда с машины на машину бинарно можно было перетащить из-за разных версий glibc. Зато статически слинкованное работало без геморроя
0
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
01.10.2014, 09:53
Evg, я думаю, автору просто стоит сказать, что для приложения в духе hello world и прочего хватит WinAPI (думаю, в инете можно легко найти даже полный код такого приложения), а если он планирует писать что то посерьезнее, да еще и с собственным стилем отображения элементов, то нужно быть готовым к растущим объемам вспомогательных библиотек. Насчет того приложения на 13кб: я же приводил это не как эталон, а просто как объяснение, что это не недостаток Qt, а недостаток системы Windows (особенно радует, когда приложение заявляет: "А вот я не могу запуститься, мне нужен framework вот такой то версии")
0
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
01.10.2014, 10:42
Цитата Сообщение от Evg Посмотреть сообщение
Я вот когда-то выбрал вариант gnome вместо kde. А потом полдня скачивал интернет, потому что хотелось запустить одну из игрушек из комплекта kde.
Игрушка из кед - это далеко не хелло ворд . Рантайм Кути при стандартной установке присутствует практически во всех дистрибутивах. Но может еще требоваться привязка к кдешному десктопу или еще что-то.
Цитата Сообщение от Evg Посмотреть сообщение
Вот соберёшь ты динамический hello world с 5-й qt (или какая там последняя), а потом долго мучаешься для запуска на машине с 4-й qt.
Поэтому для переносимости пишут на третьем.
Любители бинарного распространения программ (а в мире свободного ПО это обычно либо корпорасты-блобописатели , либо вирусописатели) обычно компилируют на четвертой Центоси со стандартным набором либ, и это "добро" работает почти везде.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
01.10.2014, 12:41
Цитата Сообщение от Гоблин-инженер Посмотреть сообщение
Evg, я думаю, автору просто стоит сказать, что для приложения в духе hello world и прочего хватит WinAPI
Мне кажется, он давно уже тут ничего не читает

Цитата Сообщение от Гоблин-инженер Посмотреть сообщение
что это не недостаток Qt, а недостаток системы Windows
Я в windows плохо разбираюсь, но склоняюсь, что это НЕ недостаток windows, а особенности (дефолтной) настройки Qt под windows

Цитата Сообщение от gng Посмотреть сообщение
Поэтому для переносимости пишут на третьем
По мне так зачем извращаться и корячиться на довольно древней версии, если можно заиспользовать современную версию со статической линковкой

Цитата Сообщение от gng Посмотреть сообщение
Любители бинарного распространения программ
Я рассматриваю ТС как начинающего, а не как профессионального софтописателя. Мне вот на начальных этапах было весьма критично взять бинарник и потащить на чужую машину. На форуме есть раздел с бэта-тестированием, где сие тоже было бы востребованным. Мне, как пользователю самодельной программы, иногда интересно запустить чужую программу и посмотреть, но совершенно нет желания втыкать, какое добро надо установить, чтобы запустить простую программу или как это скомпилировать. И с позиции автора программы в такой ситуации нужно строить код таким образом, чтобы те, кто его смотрят, прилагали минимальные усилия для запуска. В противном случае они попросту забьют
0
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
01.10.2014, 14:09
Evg, насчет настройки Qt поспорю. Тот же .net framework (который, если я не ошибаюсь, очень любится микрософтами) выдает такие же радости. Недавно настраивали другу ноутбук, установили драйвера, запускаем catalyst... а он выругался, что нет framework (еще и версию указал), и вырубился. Либо и тут "особенности дефолтной настройки", либо это "фича" винды. Хотя в случае с .NET они могли бы и добавить автоматическую установку при первом запросе, установочник загружается с их официального сайта
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
01.10.2014, 14:41
Цитата Сообщение от Гоблин-инженер Посмотреть сообщение
насчет настройки Qt поспорю. Тот же .net framework
Не вижу смысла спорить, когда сравнивают мокрое и зелёное. .net генерирует НЕ нативный код, да ещё и НЕ кросс-платформенный (с Qt мы сравниваем одну и ту же IDE на разных ОС). Он тут вообще не в тему
0
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
01.10.2014, 14:46
Evg, почему же это мокрое и зеленое? Мы сейчас говорим конкретно о влиянии их наличия/отсутствия на работу некоторых приложений. Без .NET приложения ТОЖЕ НЕ БУДУТ РАБОТАТЬ. Логично? Думаю, вы согласитесь, что логично. Microsoft имеет влияние на него? Имеет. Следовательно может сделать автоматическую загрузку и установку необходимой версии. Или что то не так?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
01.10.2014, 16:04
Цитата Сообщение от Гоблин-инженер Посмотреть сообщение
cледовательно может сделать автоматическую загрузку и установку необходимой версии.
Так и есть некоторые разработчики встраивают в свои инсталяторы предварительную проверку/установку NET
0
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
01.10.2014, 16:39
Avazart, ну а я о чем и говорю... об этом заботятся сами разработчики
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
01.10.2014, 16:44
Цитата Сообщение от Гоблин-инженер Посмотреть сообщение
Avazart, ну а я о чем и говорю... об этом заботятся сами разработчики
Ну так а кто еще должен заботится?
Майкрософт? Так они не знают что за чудо слепили разработчики и что оно требует.
Другое дело слепили бы API для проверки/загрузки актуальной версии, типа репозитария.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.10.2014, 16:44

Какую библиотеку подключить в с++ builder для xpos, ypos (анимация)?
привет всем) помогите пожалуйста в с++ я вообще новичок, так что не ругайте пожалуйста основную часть программы скатал с учебника...

Какую БД выбрать?
Я еще новичок в этом деле. Не очень знаком с базами и хотел бы проконсультироваться. Для курсовой работы нужно сделать или подключить базу...

Какую Rad Studio выбрать
Какую Rad Studio выбрать? у меня сейчас стоит XE3, но меня окончательно доканала в сотый раз эта тупая ошибка "unknown heap...

Какую версию c++ builder выбрать?
Подскажите какую лучше выбрать версию c++ builder 6 или c++ builder 11? И какие плюсы и минусы есть у версии 11 по сравнению с 6? И...

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов • Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp • Смежный проект:. . .
22. Подключение слоя системной динамики (потоковые диффуры): экономические метрики модели
anaschu 17.06.2026
Апдейт модели: финансовый контур, разделение затрат Продолжаю развивать модель рабочего коллектива на AnyLogic. В этот раз работа шла над агентом Экономика — финансовым SD-слоем модели. Задача:. . .
[golang] Insert Delete GetRandom O(1) (Leetcode: 380)
alhaos 16.06.2026
Insert Delete GetRandom O(1) Сложность: Medium Источник: LeetCode 380 Задача Реализовать структуру данных RandomizedSet, которая поддерживает следующие операции за O(1) в среднем:
Свет в конце тоннеля
kumehtar 16.06.2026
Поймал себя на одной мысли. Раньше мне всегда казалось неправильным жить без чёткого понимания, куда всё идёт. Будто я иду по дороге судьбы, но не знаю, куда она ведёт. А раз не знаю — значит,. . .
[golang] Реализация стека с поддержкой получения минимального элемента за O(1)
alhaos 16.06.2026
Min Stack Сложность: Medium Источник: LeetCode 155 Задача: Реализовать стек который поддерживает push, pop, top и получение минимального элемента за O(1). Методы:
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов. Сигнатура func Fetch(urls string, maxConcurrent int) Result Пример urls :=. . .
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition) Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru