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

C++

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

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

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

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

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

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

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

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

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

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

56
Убежденный
Системный программист
Эксперт С++
15623 / 7132 / 1129
Регистрация: 02.05.2013
Сообщений: 11,575
Записей в блоге: 1
Завершенные тесты: 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
17934 / 6162 / 409
Регистрация: 30.03.2009
Сообщений: 16,918
Записей в блоге: 27
29.09.2014, 00:24 #3
Чисто на всякий случай. Если hello world будет весить 10 мегов, то основная масса программ, которые ты за разумное время напишешь, вряд ли будут весить более 11 мегов. И эти 10 лишних мегов к твоей программе - это плата за удобство, а вовсе не следствие того, что разработчики Qt являются идиотами

компиляция под другие машины
1
Atmega
Заблокирован
29.09.2014, 04:49 #4
Если цель - любой ценой создать как можно более легкий исполняемый файл, то нужно брать нативные GUI-библиотеки.
В Windows это WinAPI, в никсах (кажется) X Window System.
Но каково на их основе (особенно на основе последней) написать что-то сложнее хелловорлда (да и его тоже) - это разговор особый.
0
Гоблин-инженер
113 / 110 / 32
Регистрация: 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кб. Вот такие пироги
0
Миниатюры
Какую GUI библиотеку выбрать?  
Evg
Эксперт CАвтор FAQ
17934 / 6162 / 409
Регистрация: 30.03.2009
Сообщений: 16,918
Записей в блоге: 27
29.09.2014, 12:12 #6
Цитата Сообщение от Гоблин-инженер Посмотреть сообщение
И кстати, написанный привет мир на линуксе
Так у тебя с динамической линковкой, а ТС скорее всего смотрел со статической. Если бы я занимался распространением своей программы на Qt, я бы выбрал именно статический вариант, чтобы не загружать пользователя геморроем по самостоятельной установке Qt
0
Dmitriy_M
1354 / 1235 / 114
Регистрация: 20.03.2009
Сообщений: 4,429
Записей в блоге: 11
29.09.2014, 12:18 #7
Цитата Сообщение от Evg Посмотреть сообщение
пользователя геморроем по самостоятельной установке Qt
Это не серьезно.
Под GNU/Linux собираю соответствующий deb/rpm пакет, и все ставиться штатными средствами.
Под Windows создаю пакет с инсталлятором, в котором лежат все необходимые библиотеки.

Есть еще wxWidgets, которые использует родные виджеты.
0
Гоблин-инженер
113 / 110 / 32
Регистрация: 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
Avazart
Эксперт С++
7213 / 5385 / 286
Регистрация: 10.12.2010
Сообщений: 23,796
Записей в блоге: 17
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     Какую GUI библиотеку выбрать?
  #15

Не по теме:

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2014, 18:41
Привет! Вот еще темы с ответами:

Какую Rad Studio выбрать - C++ Builder
Какую Rad Studio выбрать? у меня сейчас стоит XE3, но меня окончательно доканала в сотый раз эта тупая ошибка &quot;unknown heap name&quot;, которая...

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

Какую GUI библиотеку выбрать для программы - Java
Мне надо написать программку по теме имитационное моделирование. В общем, в окошке должно размещаться некоторое кол-во прямоугольников. Все...

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


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

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

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