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

C++

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

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

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

Библиотеки визуальных компонентов очень громоздки, особенно Qt - 10 мб Hello World смех, да и только. Руганный-переруганный C++ Builder 2003 года и то создаёт лишь 600 кб файл. Есть нормального размера библиотека?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
Эксперт С++
14917 / 6735 / 1059
Регистрация: 02.05.2013
Сообщений: 11,021
Завершенные тесты: 1
28.09.2014, 19:02     Какую GUI библиотеку выбрать? #2
GUI-библиотеки разные есть, но выбирать их нужно под задачу.

Если не нравится Qt, можно попробовать HTMLayout (там UI описывается
декларативно, с помощью HTML), размер dll - около 1 МБ.

Есть еще троица MFC/ATL/WTL.
Для приложений, завязанных на обработке документов и всяких MDI,
интеграцией с COM и т.п. - самое то.

Есть Ultimate++, тоже весьма компактная и простая.

Еще мне тут недавно посоветовали XUILIB. Сам на ней не писал, но
судя по демкам, возможностей у нее достаточно.
Evg
Эксперт CАвтор FAQ
17317 / 5565 / 347
Регистрация: 30.03.2009
Сообщений: 15,129
Записей в блоге: 26
29.09.2014, 00:24     Какую GUI библиотеку выбрать? #3
Чисто на всякий случай. Если hello world будет весить 10 мегов, то основная масса программ, которые ты за разумное время напишешь, вряд ли будут весить более 11 мегов. И эти 10 лишних мегов к твоей программе - это плата за удобство, а вовсе не следствие того, что разработчики Qt являются идиотами

компиляция под другие машины
Atmega
Заблокирован
29.09.2014, 04:49     Какую GUI библиотеку выбрать? #4
Если цель - любой ценой создать как можно более легкий исполняемый файл, то нужно брать нативные GUI-библиотеки.
В Windows это WinAPI, в никсах (кажется) X Window System.
Но каково на их основе (особенно на основе последней) написать что-то сложнее хелловорлда (да и его тоже) - это разговор особый.
Гоблин-инженер
113 / 113 / 32
Регистрация: 18.09.2014
Сообщений: 337
29.09.2014, 10:14     Какую GUI библиотеку выбрать? #5
MaxCPP, как уже сказали выше, если вы гонитесь за размером исполняемого файла, то пользуйтесь WinAPI, библиотеки типа Qt дают большой удобный и мощный инструмент для работы. И кстати, написанный привет мир на линуксе:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <QApplication>
#include <QWidget>
#include <QLabel>
#include <QPushButton>
#include <QVBoxLayout>
 
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QWidget *wdg = new QWidget;
    QVBoxLayout *ltMain = new QVBoxLayout;
    ltMain->addWidget(new QLabel("Hello, world!", wdg));
    ltMain->addWidget(new QPushButton("Click me", wdg));
    wdg->setLayout(ltMain);
    wdg->show();
    return app.exec();
}
весит 13.6кб. Вот такие пироги
Миниатюры
Какую GUI библиотеку выбрать?  
Evg
Эксперт CАвтор FAQ
17317 / 5565 / 347
Регистрация: 30.03.2009
Сообщений: 15,129
Записей в блоге: 26
29.09.2014, 12:12     Какую GUI библиотеку выбрать? #6
Цитата Сообщение от Гоблин-инженер Посмотреть сообщение
И кстати, написанный привет мир на линуксе
Так у тебя с динамической линковкой, а ТС скорее всего смотрел со статической. Если бы я занимался распространением своей программы на Qt, я бы выбрал именно статический вариант, чтобы не загружать пользователя геморроем по самостоятельной установке Qt
Dmitriy_M
1334 / 1215 / 110
Регистрация: 20.03.2009
Сообщений: 4,341
Записей в блоге: 11
29.09.2014, 12:18     Какую GUI библиотеку выбрать? #7
Цитата Сообщение от Evg Посмотреть сообщение
пользователя геморроем по самостоятельной установке Qt
Это не серьезно.
Под GNU/Linux собираю соответствующий deb/rpm пакет, и все ставиться штатными средствами.
Под Windows создаю пакет с инсталлятором, в котором лежат все необходимые библиотеки.

Есть еще wxWidgets, которые использует родные виджеты.
Гоблин-инженер
113 / 113 / 32
Регистрация: 18.09.2014
Сообщений: 337
29.09.2014, 12:35     Какую GUI библиотеку выбрать? #8
Evg, я к тому, что это не проблема Qt, а проблема конкретной системы. Линукс с подобным справляется, с виндой нужно воевать
Evg
29.09.2014, 15:12
  #9

Не по теме:

Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Это не серьезно.
Под GNU/Linux собираю соответствующий deb/rpm пакет, и все ставиться штатными средствами
Можем поэкспериментировать. Я на работе сижу под линуксом. Без админских прав. Собери мне динамический hello world и отправь в виде бинарника. Просто интересно, сколько времени у нас уйдёт на то, чтобы этот бинарник запустить (можем предположить, что я простой пользователь и сам до многих вещей не догадаюсь). И получим ли мы от этого какой-то выигрыш в количестве мегабайт

Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Под Windows создаю пакет с инсталлятором, в котором лежат все необходимые библиотеки
Если подойти с позиции количества мегабайт, то выигрыша от динамической линковки всё равно не получим

Dmitriy_M
29.09.2014, 15:26
  #10

Не по теме:


Цитата Сообщение от Evg Посмотреть сообщение
Можем поэкспериментировать. Я на работе сижу под линуксом. Без админских прав. Собери мне динамический hello world и отправь в виде бинарника. Просто интересно, сколько времени у нас уйдёт на то, чтобы этот бинарник запустить (можем предположить, что я простой пользователь и сам до многих вещей не догадаюсь). И получим ли мы от этого какой-то выигрыш в количестве мегабайт
Пакет пот Debian 7 x86 подойдет?

Evg
29.09.2014, 15:42
  #11

Не по теме:

Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Пакет пот Debian 7 x86 подойдет?
Я простой пользователь. Я не понимаю, что такое "пакет под Debian 7". У меня Gentoo Linux

Dmitriy_M
29.09.2014, 15:46
  #12

Не по теме:


OMG. Как сложно написать ebuild.
Только статическая сборка и тут не спасет.

Evg
29.09.2014, 16:03
  #13

Не по теме:

Цитата Сообщение от Dmitriy_M Посмотреть сообщение
OMG. Как сложно написать ebuild
А тут я уже и в правду не понимаю, что от меня требуется. Если что - у нас какая-то сборка от админов. Но в общем случае, как мне кажется, это никакой роли не играет, потому что всяких разных линуксов много, а потому у пользователя не обязательно debian

Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Только статическая сборка и тут не спасет.
Где "тут" и почему не спасёт?

Avazart
7045 / 5222 / 259
Регистрация: 10.12.2010
Сообщений: 22,962
Записей в блоге: 17
30.09.2014, 17:14     Какую GUI библиотеку выбрать? #14
Цитата Сообщение от MaxCPP Посмотреть сообщение
Библиотеки визуальных компонентов очень громоздки, особенно Qt - 10 мб Hello World смех, да и только. Руганный-переруганный C++ Builder 2003 года и то создаёт лишь 600 кб файл. Есть нормального размера библиотека?
Простой вопрос, вы собрались только хлоуворды писать? Думаю нет.
Приложение может быть намного сложнее, но будет занимать приблизительно столько же, но затраты труда могут оказать меньшими(в плане времени и сил) чем использование нативных средств.

Новый С++Builder тоже клепает экзешники ~2...7 MБ (и не все могЁт что могЁт Qt)

Добавлено через 5 минут
Цитата Сообщение от Evg Посмотреть сообщение
Если подойти с позиции количества мегабайт, то выигрыша от динамической линковки всё равно не получим
Еще как получим, но только если это пакет программ, а не одна единственная программуленка.

Добавлено через 4 минуты
Цитата Сообщение от Evg Посмотреть сообщение
Если бы я занимался распространением своей программы на Qt, я бы выбрал именно статический вариант, чтобы не загружать пользователя геморроем по самостоятельной установке Qt
Для этого можно инсталятор написать.
А программы использующие WebKit и/или Multimedia не собрать статически (ну по крайней мере я не слыхал о таком)
DrOffset
30.09.2014, 18:41
  #15

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
(и не все могЁт что могЁт Qt)
Он еще и стОит как домик в деревне.

Evg
Эксперт CАвтор FAQ
17317 / 5565 / 347
Регистрация: 30.03.2009
Сообщений: 15,129
Записей в блоге: 26
30.09.2014, 18:58     Какую GUI библиотеку выбрать? #16
Цитата Сообщение от Avazart Посмотреть сообщение
Еще как получим, но только если это пакет программ, а не одна единственная программуленка
Пока ты не крупная контора по выпуску промышленного софта, а всего лишь любитель, который клепает программы, которые по большому счёту и задаром никому не нужны, я бы попросту не лез в варианты с динамической линковкой с библиотеками, которые являются опциональными. Людям и так твоя программа не нужна, а напрягать их дополнительными телодвижениями ради её запуска - смысла нет
Avazart
7045 / 5222 / 259
Регистрация: 10.12.2010
Сообщений: 22,962
Записей в блоге: 17
30.09.2014, 19:17     Какую GUI библиотеку выбрать? #17
Пример: написал уже несколько приложений под заказ которые используют браузер, пока что только на C++Builder+ TCromium - собственно тянется ~40 MБ от TCromium, но думаю с таким же успехом можно было использовать Qt и его Webkit.

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

Цитата Сообщение от Avazart Посмотреть сообщение
И людей не смутил такой размер
Мне так вообще пофиг на размер. В наши дни лишние 10 мегабайт - это тьфу. Я как раз-таки ратую за то, чтобы сокращать количество гемора и плевать, сколько лишних мегабайт от этого будет. Т.е. можно собрать динамически слинкованный hello world размером 13 килобайт и радоваться, что бинарник маленький, а можно собрать статически слинованный на 10 мегабайт и радоваться тому, что отдал людям бинарник, они его берут и тупо запускают, безо всяких дополнительных телодвижений
Avazart
7045 / 5222 / 259
Регистрация: 10.12.2010
Сообщений: 22,962
Записей в блоге: 17
30.09.2014, 19:57     Какую GUI библиотеку выбрать? #19
Цитата Сообщение от Evg Посмотреть сообщение
ам всё-таки система установки более дружественна к пользователю и нету свей этой чехарды с пакетами
Ну-ну... вы вероятно винду не разу не переставляли, когда нужно заново переставить не одну программу а целый пакет программ.
А учитывая что в основном все ставится через оконные инсталяторы то нужно сидеть целый день и тыкать по кнопочкам да/нет.
Уже не говорю о поисках в интернете.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2014, 19:57     Какую GUI библиотеку выбрать?
Еще ссылки по теме:

Какую библиотеку выбрать для вращения тетраэдра в окне программы? Visual C++
Через какую библиотеку можно работать с jpeg? Visual C++
C++ Подскажите GUI библиотеку на c++
Какую библиотеку подключить для использования enum C++
Какую библиотеку подключить для использования cout? C++

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

Или воспользуйтесь поиском по форуму:
DrOffset
6841 / 4052 / 924
Регистрация: 30.01.2014
Сообщений: 6,855
30.09.2014, 19:57     Какую GUI библиотеку выбрать? #20
Цитата Сообщение от Evg Посмотреть сообщение
Не надо ковыряться с тем, что "а вот запустите apt-get <чего-то там>, оно вам за полдня скачает миллион библиотек, после чего вы можете запустить мой hello world"
Мое мнение может быть предвзято, но я всегда считал, что концепция пакета в linux с единой базой и информацией об установленном софте, гораздо более качественная, чем концепция разношерстных и непонятно что и куда устанавливающих, нестандартизированных установщиков в винде.
Т.е. на мой взгляд, более дружественная таки концепция пакетов linux, хоть виндовая изначально и обладает более красивым "лицом".
Yandex
Объявления
30.09.2014, 19:57     Какую GUI библиотеку выбрать?
Ответ Создать тему
Опции темы

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