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

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

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

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

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

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

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

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

56
Ушел с форума
Эксперт С++
16473 / 7436 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
28.09.2014, 19:02 2
GUI-библиотеки разные есть, но выбирать их нужно под задачу.

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

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

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

Еще мне тут недавно посоветовали XUILIB. Сам на ней не писал, но
судя по демкам, возможностей у нее достаточно.
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
29.09.2014, 00:24 3
Чисто на всякий случай. Если hello world будет весить 10 мегов, то основная масса программ, которые ты за разумное время напишешь, вряд ли будут весить более 11 мегов. И эти 10 лишних мегов к твоей программе - это плата за удобство, а вовсе не следствие того, что разработчики Qt являются идиотами

компиляция под другие машины
1
Заблокирован
29.09.2014, 04:49 4
Если цель - любой ценой создать как можно более легкий исполняемый файл, то нужно брать нативные GUI-библиотеки.
В Windows это WinAPI, в никсах (кажется) X Window System.
Но каково на их основе (особенно на основе последней) написать что-то сложнее хелловорлда (да и его тоже) - это разговор особый.
0
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
29.09.2014, 10:14 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 библиотеку выбрать?  
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
29.09.2014, 12:12 6
Цитата Сообщение от Гоблин-инженер Посмотреть сообщение
И кстати, написанный привет мир на линуксе
Так у тебя с динамической линковкой, а ТС скорее всего смотрел со статической. Если бы я занимался распространением своей программы на Qt, я бы выбрал именно статический вариант, чтобы не загружать пользователя геморроем по самостоятельной установке Qt
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
29.09.2014, 12:18 7
Цитата Сообщение от Evg Посмотреть сообщение
пользователя геморроем по самостоятельной установке Qt
Это не серьезно.
Под GNU/Linux собираю соответствующий deb/rpm пакет, и все ставиться штатными средствами.
Под Windows создаю пакет с инсталлятором, в котором лежат все необходимые библиотеки.

Есть еще wxWidgets, которые использует родные виджеты.
0
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
29.09.2014, 12:35 8
Evg, я к тому, что это не проблема Qt, а проблема конкретной системы. Линукс с подобным справляется, с виндой нужно воевать
0
Evg
29.09.2014, 15:12
  #9

Не по теме:

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

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

0
Dmitriy_M
29.09.2014, 15:26
  #10

Не по теме:


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

0
Evg
29.09.2014, 15:42
  #11

Не по теме:

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

0
Dmitriy_M
29.09.2014, 15:46
  #12

Не по теме:


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

0
Evg
29.09.2014, 16:03
  #13

Не по теме:

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

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

0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
30.09.2014, 17:14 14
Цитата Сообщение от MaxCPP Посмотреть сообщение
Библиотеки визуальных компонентов очень громоздки, особенно Qt - 10 мб Hello World смех, да и только. Руганный-переруганный C++ Builder 2003 года и то создаёт лишь 600 кб файл. Есть нормального размера библиотека?
Простой вопрос, вы собрались только хлоуворды писать? Думаю нет.
Приложение может быть намного сложнее, но будет занимать приблизительно столько же, но затраты труда могут оказать меньшими(в плане времени и сил) чем использование нативных средств.

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

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

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

Не по теме:

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

0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
30.09.2014, 18:58 16
Цитата Сообщение от Avazart Посмотреть сообщение
Еще как получим, но только если это пакет программ, а не одна единственная программуленка
Пока ты не крупная контора по выпуску промышленного софта, а всего лишь любитель, который клепает программы, которые по большому счёту и задаром никому не нужны, я бы попросту не лез в варианты с динамической линковкой с библиотеками, которые являются опциональными. Людям и так твоя программа не нужна, а напрягать их дополнительными телодвижениями ради её запуска - смысла нет
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
30.09.2014, 19:17 17
Пример: написал уже несколько приложений под заказ которые используют браузер, пока что только на C++Builder+ TCromium - собственно тянется ~40 MБ от TCromium, но думаю с таким же успехом можно было использовать Qt и его Webkit.

И людей не смутил такой размер, более того не требовали написать инсталятор, главное что бы работало.
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
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 мегабайт и радоваться тому, что отдал людям бинарник, они его берут и тупо запускают, безо всяких дополнительных телодвижений
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
30.09.2014, 19:57 19
Цитата Сообщение от Evg Посмотреть сообщение
ам всё-таки система установки более дружественна к пользователю и нету свей этой чехарды с пакетами
Ну-ну... вы вероятно винду не разу не переставляли, когда нужно заново переставить не одну программу а целый пакет программ.
А учитывая что в основном все ставится через оконные инсталяторы то нужно сидеть целый день и тыкать по кнопочкам да/нет.
Уже не говорю о поисках в интернете.
0
18842 / 9841 / 2408
Регистрация: 30.01.2014
Сообщений: 17,284
30.09.2014, 19:57 20
Цитата Сообщение от Evg Посмотреть сообщение
Не надо ковыряться с тем, что "а вот запустите apt-get <чего-то там>, оно вам за полдня скачает миллион библиотек, после чего вы можете запустить мой hello world"
Мое мнение может быть предвзято, но я всегда считал, что концепция пакета в linux с единой базой и информацией об установленном софте, гораздо более качественная, чем концепция разношерстных и непонятно что и куда устанавливающих, нестандартизированных установщиков в винде.
Т.е. на мой взгляд, более дружественная таки концепция пакетов linux, хоть виндовая изначально и обладает более красивым "лицом".
0
30.09.2014, 19:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.09.2014, 19:57
Помогаю со студенческими работами здесь

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

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

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

Какую библиотеку выбрать для вращения тетраэдра в окне программы?
Написать программу под действием стрелок &quot;Вправо&quot;, &quot;Влево&quot; Вращать тетраэдр в окне программы. ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru