LINUX.ORG.RU

На каком тулките писать, чтобы удовлетворить тулкитофобов?

 , , ,


2

3

Хочется писать простые графические приложения, типа блокнотика, плеера, распаковщика какого-то там хитрого формата и тд, не требующие каких-то особо хитрых виджетов, то какой лучше всего тулкит использовать?

Понятно, что Gtk и Qt не подходят, так как весят просто неприлично много, а приложение предполагается маленьким и быстрым.

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

Xlib не подходит, так как выглядит как-то совсем уж страшненько, и опять же, работает на слишком примитивных примитивах.

Нужно чтобы были стандартные виджеты: button, checkbox, radio button, text input, text area, которые есть везде (включая даже HTML form) и чтобы при компиляции для Шиндошс или OS X они выглядели нативно. Какие-то другие виджеты не нужны, особенно при наличии канваса, где их можно рисовать самому, если вдруг стандартных мало.

Хотелось бы, чтобы такой тулкит устанавливался за минуту даже при компиляции из исходных кодов, чтобы тулкитофобы могли спокойно использовать программку, кроме того, если тулкит маленький, то можно было бы его полностью затащить в дерево исходников и вообще обойтись без внешних зависимостей.

★★★★★

Последнее исправление: Xenius (всего исправлений: 2)

А по делу: Qt Lite.

QtWidgets легко урезается на половину.

RazrFalcon ★★★★★
()
Ответ на: комментарий от RazrFalcon

Бывает, если там самый необходимый минимум. Что там компилять-то больше минуты? Это всякие культи-говнотыки долго компиляются, потому что там дерьма ненужного 99.99%!

anonymous
()
Ответ на: комментарий от nihirash

wx под c++, питоновские биндинги релизятмя быстро.

Shadow ★★★★★
()

Нужно чтобы были стандартные виджеты: button, checkbox, radio button, text input, text area

Если сильно захотеть:

./configure \
-platform linux-g++ \
-prefix ~/qtbase-5.9.2 \
-opensource \
-confirm-license \
-no-sse3 \
-no-ssse3 \
-no-sse4.1 \
-no-sse4.2 \
-no-avx \
-no-avx2 \
-nomake tools \
-nomake examples \
-nomake tests \
-no-cups \
-no-icu \
-no-qml-debug \
-no-linuxfb \
-no-eglfs \
-no-opengl \
-no-libjpeg \
-no-sql-sqlite \
-no-gif \
-no-ico \
-no-dbus \
-qt-libpng \
-qt-pcre \
-no-pch \
-no-accessibility \
-no-feature-animation \
-no-feature-big_codecs \
-no-feature-calendarwidget \
-no-feature-colordialog \
-no-feature-colornames \
-no-feature-columnview \
-no-feature-commandlineparser \
-no-feature-commandlinkbutton \
-no-feature-cssparser \
-no-feature-datetimeedit \
-no-feature-dial \
-no-feature-dom \
-no-feature-effects \
-no-feature-errormessage \
-no-feature-fontcombobox \
-no-feature-fontdialog \
-no-feature-ftp \
-no-feature-gestures \
-no-feature-graphicseffect \
-no-feature-graphicsview \
-no-feature-image_heuristic_mask \
-no-feature-inputdialog \
-no-feature-keysequenceedit \
-no-feature-lcdnumber \
-no-feature-listwidget \
-no-feature-localserver \
-no-feature-mdiarea \
-no-feature-movie \
-no-feature-pdf \
-no-feature-picture \
-no-feature-printdialog \
-no-feature-printer \
-no-feature-printpreviewdialog \
-no-feature-printpreviewwidget \
-no-feature-progressdialog \
-no-feature-rubberband \
-no-feature-sharedmemory \
-no-feature-splashscreen \
-no-feature-statusbar \
-no-feature-style-stylesheet \
-no-feature-syntaxhighlighter \
-no-feature-systemsemaphore \
-no-feature-tableview \
-no-feature-tablewidget \
-no-feature-textodfwriter \
-no-feature-timezone \
-no-feature-treewidget \
-no-feature-undoview \
-no-feature-wizard \
-no-feature-xmlstreamwriter

% exa -Rl
.rwxr-xr-x 19k razr 17 Oct 12:42 hello-world
drwxr-xr-x   - razr 17 Oct 13:36 lib
.rw-r--r--  22 razr 12 Oct 15:43 qt.conf

./lib:
.rwxr-xr-x 5.2M razr 17 Oct 13:33 libQt5Core.so.5
.rwxr-xr-x 4.5M razr 17 Oct 13:33 libQt5Gui.so.5
.rwxr-xr-x 3.9M razr 17 Oct 13:33 libQt5Widgets.so.5
.rwxr-xr-x 631k razr 17 Oct 13:33 libQt5XcbQpa.so.5
drwxr-xr-x    - razr 17 Oct 12:40 platforms
drwxr-xr-x    - razr 17 Oct 12:34 platformthemes

./lib/platforms:
.rwxr-xr-x 14k razr 17 Oct 13:33 libqxcb.so

./lib/platformthemes:
.rwxr-xr-x 136k razr 17 Oct 13:33 libqgtk3.so

% du -h
20K     ./lib/platforms
140K    ./lib/platformthemes
14M     ./lib
14M     .

% du -h hw.7z 
4.2M    hw.7z

При желании можно ещё больше отключить. Зависит от того, что нужно проге.

Это конечно не пару мегабайт, но лучшее из того что есть.

RazrFalcon ★★★★★
()
Ответ на: комментарий от RazrFalcon

Чем тебе OpenGL не нравится? А если с модными шейдерами делать, то автоматом веб-морда еще получится в довесок к standalone.

anonymous
()
Ответ на: комментарий от RazrFalcon

Убогие культяпки так и останутся убогими культяпками! А еще, им нужны кресты! Нафиг этот график!!!

anonymous
()
Ответ на: комментарий от RazrFalcon

4.2 тебе на оба пункта!

В виртуалбоксе opengl отлично работает. А в натив — как это не умеет? Зачем тогда весь сыр-бор об nvidia'вских модулях? На самый худой конец есть mesa.

По крайней мере, OpenGL будет работать абсолютно на любом железе, в отличие от свистопердящих культей или говнотыков!

anonymous
()
Ответ на: комментарий от anonymous

Напиши — будут.

А вообще, какое-то однобокое у нас представление о GUI: «радиокнопки» и «флажки» можно было бы чем-то более удобным заменить. Да и каскадные меню тоже...

anonymous
()

Решил как-то попробовать тулкит от E17. Hello word скомпилировался без ошибок, но падал с сегфолтом, не успевая даже окна создать. Остался на GTK2.

Rupricht ★★
()

Раз все так топят за opengl - то glGUI от lambdanative

С помощью lambdanative на этом тулките можно нахелоуворлдить даже на скиме и под мобилки(и не только).

nihirash ★★★
()
Последнее исправление: nihirash (всего исправлений: 2)
Ответ на: комментарий от RazrFalcon

exa -Rl

Фуууу, хипстотой завоняло!

anonymous
()

Хочется писать простые графические приложения
и чтобы при компиляции для Шиндошс или OS X они выглядели нативно

зачем это писать под оффтопик? там уже всё есть

anonymous
()

Нужно делать свой гуй под каждую платформу, если хочешь конечно нормально делать, а не для галочки. Под линукс только гтк, никуда от этого не деться. Культи по-прежнему выглядят инородно, что бы так кодоешники не пищали. Более того, вспоминая мытарства самих культефанов с Qt5, которая юзабельна стала только где-то к 5.7, не захочешь такого счастья никому.

anonymous
()

"mlib" – легковесный тулкит поверх Xlib

На основе «mlib» построены следующие приложения

http://azsky2.html.xdomain.jp/program.html

  • «AzPainter» — полноцветный графический редактор для рисования
  • «AzPainterB» — полноцветный графический редактор для pixelart
  • «azcomicv» — просмотрщик комиксов и манги
  • «aobook» — читалка текстовых файлов, предназначенная в первую очередь для отображения японских текстов в виде вертикальных строк

Кроме того «mlib» поддерживает возможность создания пользовательских тем в виде текстовых файлов. Для этого создан «mThemeEditor» — WYSIWYG редактор файлов тем, который в свою очередь построен тоже на «mlib»

http://azsky2.html.xdomain.jp/linux/mthemeeditor.html

P.S.: Будут вопросы — заходи в трэд

AzPainter 2.x (for Unix-like) - пакеты для BSD, Linux, macOS

atsym ★★★★★
()
Ответ на: комментарий от Deleted

Geekless, добрый вечер

как SDE поживает? или заморожена?

OyyO
()
Ответ на: комментарий от anonymous

Нужно делать свой гуй под каждую платформу, если хочешь конечно нормально делать, а не для галочки.

примеры этих нормальных гуёв и приложений на нём конечно же нет

x905 ★★★★★
()
Ответ на: комментарий от redgremlin

Если взять JavaFX, то тулкитофобы наберут вторую космическую и покинут околоземное пространство.

peregrine ★★★★★
()
Ответ на: комментарий от a1batross

Главное чтобы тебе было удобно, а не индивидам со своими необоснованными тараканами.

Это не так. Без минимального тестирования (дать потыкать другу) получится говно. Ты, как автор, может даже не будешь этого замечать (до допиливания), но после допиливания по результатам тестирования поймешь какое оно было говно.

Stil ★★★★★
()
Ответ на: комментарий от Stil

Лол. С чего ЭТО может быть тестированием? Это скорее фидбэк, польза которого стремится к нулю.

Да, тулкитофобы должны страдать. Они сами виноваты в том, что инструмент созданный в первую очередь для кодера, вызывают у них какие-то чувства. Более адекватные люди вполне оттестируют твой софт и сделают его лучше.

a1batross ★★★★★
()
Ответ на: комментарий от Unicode4all

И на питоне, чтоб жизнь мёдом не казалась.

gadfly ★★
()

Не знаю как Qt, а к GTK3 основные притензии как я понял из жалоб связаны с дефолтными настройками этого тулкита, по этому я рекомендую тебе его, только хорошо конфигурацию всяких промежутков, полей и прилипаний в интерфейсе продумай.

К стати, может тебе сделать не блокнотик, а конфигуратор для тонкой настройки гуя?

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 2)
Ответ на: комментарий от gadfly

Переведенный конфиг рабочий. Но да, нужно тестировать.

RazrFalcon ★★★★★
()

Однозначно: Qt


Посмотри на дорогой (дорогой от слова тысячи евро) мультиплатформенный коммерческий софт от The Foundry: MODO, NUKE и т.д., думаю вопросы отпадут сами собою.

А лузеров не слушай.

Bruce_Lee ★★
()

Xlib не подходит, так как выглядит как-то совсем уж страшненько, и опять же, работает на слишком примитивных примитивах.

xcb же

ugoday ★★★★★
()

Реально не слушай лузеров и горлопанов, бери Qt.

Bruce_Lee ★★
()
Ответ на: Однозначно: Qt от Bruce_Lee

Посмотри на дорогой (дорогой от слова тысячи евро) мультиплатформенный коммерческий софт от The Foundry

И что?

Я спрашиваю про программку из одной формочки с базовыми виджетами. Нафига для неё Qt?

Xenius ★★★★★
() автор топика

Без тулкита, очевидно же.

anonymous
()
Ответ на: комментарий от anonymous

CAD: кады в вебе будут так тормозить, что никто ими пользоваться не будет

Смотря сколько возможностей тебе надо от када. Например вот это мне заменяет инскейп и корелдрав:

https://designer.gravit.io/

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.