|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
Qt возможности27.12.2014, 01:06. Показов 6787. Ответов 46
Метки нет (Все метки)
Гуру, помогите новичку на С++!
Можете "в двух словах" рассказать о Qt (кросплатформенный С++)? 1) Лицензии. Могу ли я на бесплатном Qt писать платные программы не открывая код? 2) Библиотеки. Нужно ли таскать за программой лишние dll или все встраивается в ехе-файл? Сильно ли увеличивается размер? 3) Компиляторы. Можно ли "выдрать" из Qt только нужное (сокеты, потоки) и использовать их в MinGW? Можно ли "частично" использовать Qt, а частично WinAPI (например цвета в консоли, работа со звуком) 4) Платформы. Есть Qt для андроида. Он совместим с Qt Windows? 5) Консоль. Можно ли писать программы не используя "окошек"? 6) Серверные решения. Имеет ли смысл? Например сделать сокет-сервер и положить на веб-сервер для множественных одновременных подключений. Или для этого лучше подойдут другие языки? (ява, питон) (прежде чем убивать кучу время на практически новый для меня фреймворк, хотелось бы знать что делаю это не зря)
0
|
|
| 27.12.2014, 01:06 | |
|
Ответы с готовыми решениями:
46
Ноутбук Асус Нет возможности разгона ОЗУ, а также в БИОС нет возможности отключения интегрированной графики Возможности c++ Возможности WP |
| 27.12.2014, 10:13 | |||||
|
Рекомендую изучить информацию по этим ссылкам: http://www.digia.com/ru/Qt/News/20082014/ http://www.qt.io/licensing/ В этой табличке можно посмотреть сколько стоит коммерческий Qt: http://www.qt.io/download/
icudt53.dll icuin53.dll icuuc53.dll libgcc_s_dw2-1.dll libstdc++-6.dll libwinpthread-1.dll Qt5Core.dll Qt5Gui.dll Qt5Widgets.dll platforms/qwindows.dll Суммарный вес 44 МБайта А если дополнительные модули использовать, то количество dll возрастёт. Я на чистом компьютере запускаю и то что не хватает добавляю отсюда: c:\Qt\Qt5.4.0\5.4\mingw491_32\bin\ Можно собрать статически в один exe, но для этого нужно саму библиотеку Qt собрать статически (это занимает 2 часа) Тогда приложение будет весить 15 МБайт, а если сжать exe c помощью программы upx - будет весить 5.5 МБайт У меня есть инструкция: https://www.cyberforum.ru/blog... g2924.html Добавлено через 3 минуты Либо можно создать: "Application"->"Qt Console Application". Тогда можно создавать сигнал/слот взаимодействие На всякий случай, ещё такая инструкция: Первое оконное приложение на Qt (диалоговое окно)
1
|
|||||
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
||
| 27.12.2014, 11:04 [ТС] | ||
|
У меня есть "текущая" задача. На ней учусь писать на С++. Сделать 2е небольшие программы. Обе консольные. Одна через WinAPI получает данные (бинарные буферы) на одном компе и рассылает через сокеты клиентской программе на других компах. Клиентские в консоли выводят полученное(обработав). Клиенты могут посылать серверу "управляющие команды"(двустороннее асинхронное общение). Часть отвечающая за работу с WinAPI и отображение в консоли успешно сделана в MinGW. А вот с сокетами и многопоточными серверами полная лажа... Примеров почти не нашел. А то что нашел под Qt (пример "чата"). В идеале хотел сделать 2е маленькие dll-ки. Клиент и сервер. И подключить их к старым программам. Всю логику сокетов и взаимодействия клиентов оставить в dll. И... не знаю на каком С++ писать! Уже нашел не меньше 4х "мультиплатформенных" сокетных компонент (poco, Qt, boost, ...). Но в основном без примеров. Уже совсем отчаялся и решил посмотреть в сторону Qt(там хоть какие-то примеры в поставке)... На сегодня обе программы занимают от силы по 500 кб. Если добавить либы от Qt... Многократно увеличится? По лицензиям... тоже довольно странно! Около 150$ в МЕСЯЦ! За поддержку? А через месяц еще 150 за "продление"? И в идеале хотел сделать сервер-ретранслятор этих данных под линукс. Будет аналог не сильно загруженного веб-сервера (без окошек). Имеет смысл такое писать на Qt?
0
|
||
|
Ушел с форума
|
||
| 27.12.2014, 16:36 | ||
Qt может распостраняться по лицензии LGPL, которая позволяет сохранять исходники закрытыми при соблюдении некоторых условий. В частности, вы должны динамически компоноваться с Qt. Qt Licensing https://qt-project.org/products/licensing Adding LGPL v3 to Qt http://blog.qt.digia.com/blog/... -v3-to-qt/ GNU (LGPL) 2.1 http://www.gnu.org/licenses/ol... l-2.1.html ПЕРЕВОД НА РУССКИЙ ЯЗЫК СТАНДАРТНОЙ ОБЩЕСТВЕННОЙ ЛИЦЕНЗИИ ОГРАНИЧЕННОГО ПРИМЕНЕНИЯ. http://jxself.org/translations/lgpl-2.1.ru.shtml Ответы на вопросы о лицензиях GNU http://www.gnu.org/licenses/gpl-faq.ru.html
5
|
||
| 27.12.2014, 19:19 | ||
|
1
|
||
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
||
| 27.12.2014, 23:02 [ТС] | ||
|
Меня больше интересует ответ на вопрос "ИМЕЕТ ЛИ СМЫСЛ?". Можно ли сделать полноценный веб сервер на Qt? (у меня будет не веб, а сокетный, но смысл похожий. Не больше 10 клиентов, но возможно большой трафик). Когда учил Делфи один приколист статью написал листов на 10 как написать работающий драйвер на Делфи под Windows. Вполне удачно его собрал в конце. И в конце приписал - "Делфи вообще-то не предназначен для написания драйверов. Просто я хотел доказать что на нем в принципе при большом желании можно написать все... Qt "предназначен" для серверных линуксовых решений??? Да/Нет/не особо... Мне нужно написать решение ТОЛЬКО для сетевого общения двух программ. И предстоит ради этого найти и научиться работать в новой (для меня) технологии сокетов. Имеет ли смысл изучать для этого Qt? Или поискать другие подходы??? Позднее прийдется написать клиент и сервер еще и под андроид... "Плагином" в другую программу! C Qt (по идее) переписывать не прийдется. Но опять-же "имеет ли смысл"?
0
|
||
|
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
|
||
| 28.12.2014, 10:47 | ||
|
1
|
||
| 28.12.2014, 12:35 | |||
|
RazrFalcon, PhantomJS это "браузер", а не веб сервер.
1
|
|||
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|||
| 29.12.2014, 01:22 [ТС] | |||
|
Пол года назад кто-то тоже советовал Беркли. Но другой умник убедил меня что Беркли работает только под линукс. Я растроился (мечтал о мультиплатфроменном решении) и начал искать альтернативы... Добрался до Qt и его вполне оформленных классах сервера и клиента (вместо Беркли подобных процедурно-функциональных решений).
0
|
|||
|
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
||||
| 29.12.2014, 06:27 | ||||
|
Добавлено через 6 минут Tester64, Сокеты Беркли это конечно интересно для изучения технологии работы сокетов. Но для реальной работы уже несколько устаревшая и не очень удобная штука. Используя классы Qt можно с меньшими затратами спокойно использовать сокеты. Добавлено через 1 минуту Добавлено через 2 минуты
3
|
||||
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
| 29.12.2014, 07:27 [ТС] | |
|
Примерно понял! Спасибо!
Сначала пожалуй изучу Беркли... Хотя-бы внимательнее поищу примеры и изучу возможности других реализаций сокета (нашел примеры в архиве с boost). 11Мб - многовато для практически ПУСТОГО проекта! И не до конца уверен в портированости под андроид. Qt оставлю на "запасной вариант".
0
|
|
| 29.12.2014, 09:31 | ||
|
0
|
||
| 29.12.2014, 10:30 | |||
|
1
|
|||
|
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
|
| 29.12.2014, 10:41 | |
|
Dmitriy_M, Ну на пример под windows уже давно асинхронные сокеты применяются. Синхронные сокеты до сих пор часто используются восновном на линуксовых машинах.
0
|
|
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|||
| 29.12.2014, 11:43 [ТС] | |||
|
По поводу скорости разработки... Тоже не уверен! Работа с сокетами - это лишь первый "слой" моего протокола. Дальше мне предстоит нехило поработать над структурой пакетов, которыми нужно обмениваться. Компилятор под консоль собирает проект в 0.5Мб за 6-7 секунд. Причем на выходе получает одну dll, а не пакет на >11Мб. Сейчас учусь в codeblocks. Там - ничего лишнего! Даже отладчиком не пользуюсь - так раза в 1.5 быстрее. Я 3-4 года назад пробовал Qt - не самый шустрый редактор - требует мощный проц! Подозреваю что всю "конфликтность" одновременных отсылок и приемов" брали на себя классы в делфи. Сейчас читаю про Беркли. Раньше видел подобное под другую реализацию сокетов... Внутри - бесконечный цикл. ОДИН! for (; ! Внутри что-то читаем, что-то выводим. Что-то (теоретически) отправляем. А что происходит если одновременно 100 пакетов идут? Мне их самому разделять? И разным обрабатчикам раздавать? И отправителей вычислять? Этот бесконечный цикл, (в котором не понимающему принципов новичку легко напортачить) меня так напугал, что я и смотрел в сторону Qt - там хоть изначально все в классах - вдруг как в Делфи - уже "обо всем позаботились"... Мне даже контроль разрыва связи с клиентами похоже на себя взять прийдется... А еще я ПОТОМ планирую переписать свой протокол и под линукс-сервер (хостинг). И не охота потом переделывать полностью и сокетный "слой". Можете обьяснить "на пальцах" разницу в сокетах между Win и линуксом? В описании Беркли встретил фразу "Принятие входящих соединений через вызов accept(). Это БЛОКИРУЕТ сокет до получения входящего соединения...". Это из той-же оперы или нет?
0
|
|||
|
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
|
| 29.12.2014, 11:50 | |
|
Tester64, Ну в общих чертах, используя синхронные сокеты тебе придется для каждого подключения создавать два потока, для получения данных и для отправки.
Асинхронные сокеты дают возможность работать, используя малое количество потоков. Вообщем подробно это надо читать статьи, документации, в двух словах не расскажешь.
1
|
|
|
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
|
| 29.12.2014, 12:03 | |
|
0
|
|
| 29.12.2014, 12:03 | |
|
Помогаю со студенческими работами здесь
20
Возможности Windows10 Возможности UDP Возможности транзакции Возможности PSpice Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|