The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлен gtkplatform, плагин для отрисовки Qt-приложений с использованием GTK+

24.09.2017 23:16

В рамках проекта gtkplatform развивается новый механизм для бесшовного отображения Qt-приложений в окружениях на базе GTK+. В отличие от решений, основанных на стилизации элементов оформления или замены движка тем оформления, в gtkplatform предлагается иной подход - к Qt подключается плагин с реализацией платформы отрисовки на базе GTK+. Иными словами оконные операции Qt-приложений транслируются в API GTK+, который используется как первичный тулкит. Код написан на языке С++ и по аналоги с Qt распространяется под лицензиями LGPLv3 и GPLv2+.

Реализованный в gtkplatform подход позволяет задействовать в Qt-приложениях родные диалоги, обработчики ввода и меню GTK+, что сводит к минимуму видимые отличия при интеграции Qt-приложений в пользовательские окружения на базе GTK+. В том числе Qt-приложения могут бесшовно вписываться в окружение GNOME, работающее поверх Wayland.

На текущем этапе развития поддерживается отрисовка через GTK+ оконных компонентов, формируемых при помощи QPainter, QOpenGLContext, QOpenGLWidget и QtWebEngine, возможно использование буфера обмена, используются нативные меню и диалоги GTK+, обрабатываются события ввода от сенсорных экранов, клавиатур и мышей. Из планов отмечается подготовка вспомогательных обработчиков для задействования специфичных возможностей GTK+, таких как вынос панели инструментов в заголовок окна (GtkHeaderBar).

Подключение плагина gtkplatform производится через запуск приложения с установкой переменной окружения "QT_QPA_PLATFORM=gtk" или через указание опции "-platform gtk". Для пользователей Arch Linux плагин уже размещён в репозитории AUR. Из похожих проектов можно отметить плагины gtk-qt-engine, qgtkstyle, QGnomePlatform и Qt5Gtk2, которые заменяют движок тем оформления (QT_QPA_PLATFORMTHEME) на вариант, работающий поверх GTK+.



  1. Главная ссылка к новости (https://www.reddit.com/r/linux...)
  2. OpenNews: Рабочий стол Budgie переходит с GTK+ и библиотек GNOME на Qt
  3. OpenNews: Выпуск библиотеки Qt5Gtk2 0.3 для интеграции Qt5-программ в окружения GTK2+
  4. OpenNews: Audacious возвращается на GTK2, в перспективе переход на Qt
  5. OpenNews: Wireshark мигрирует с GTK+ на Qt
  6. OpenNews: QGtkStyle открывает новый уровень интеграции Qt приложений в среду GNOME
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/47262-qt
Ключевые слова: qt, gtk
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (102) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (-), 23:32, 24/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Замутно
     
     
  • 2.57, анон (?), 11:38, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –5 +/
    нужно было Qt отрисовывать на html/js на электроне тогда бы работало а так ненужная поделка
     

  • 1.3, Аноним (-), 23:33, 24/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Я хоть и ярый адепт няшной сишечки и GTK+, но это извращение.
     
     
  • 2.6, Xasd (ok), 00:06, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +7 +/
    тык ведь там там C++ а не няшная сишечка
     
  • 2.56, eganru (?), 11:33, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ярый адепт няшной сишечки - пена у рта быстро сохнет, как только возникают умопомрачительные нюансы управления сложностью проекта в 100+ файлов на Cи.

    пена сохнет, поверьте мне. и бесшовность из новости писали в кристально ясном рассудке.

     
     
  • 3.58, Аноним (-), 11:43, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > проекта в 100+ файлов на Cи

    Линус как-то не жаловался.

     
     
  • 4.75, Crazy Alex (ok), 13:02, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Линусов мало
     
     
  • 5.116, Аноним (-), 01:40, 12/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Так и хороший софт тоже не каждый первый пишет. А какое-нибудь гамно на пыхе или бидоне рапидно наляпаное левой пяткой - работает именно так как должно работать рапидное гамно. Ну то-есть хуже чем даже какая-нибудь кривая гадость на дельфях от первобытных рапидчиков.
     
  • 3.94, Аноним (-), 18:58, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > ярый адепт няшной сишечки - пена у рта быстро сохнет, как только возникают умопомрачительные нюансы управления сложностью проекта в 100+ файлов на Cи.
    > пена сохнет, поверьте мне. и бесшовность из новости писали в кристально ясном рассудке.

    Я другой аноним и я не понимаю почему другие люди не могут научиться организовывать свои проекты на Си не утопая в них если я это могу. Расскажешь?

     
     
  • 4.110, eganru (?), 14:50, 26/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    докажи что не пустомеля.
    напиши на gnu inline assembly макро вызова ядра с передачей параметров через регистры.
     

  • 1.4, neak (?), 23:43, 24/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    Ещё один враппер. Чтобы внешний вид чуть меньше был похож на лоскутное одеяло. Вещь хорошая, но это не решение.
     
     
  • 2.7, Xasd (ok), 00:07, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Ещё один враппер. Чтобы внешний вид чуть меньше был похож на лоскутное
    > одеяло. Вещь хорошая, но это не решение.

    а он точно враппер, а не лишь ЗАМЕНА одного из компонентов в стеке Qt ?

    переменная QT_QPA_PLATFORM -- разве накручивает число обёрток?

     

  • 1.5, Аноним (-), 23:59, 24/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +13 +/
    С позитивной стороны: эти хотя бы не форкают, а наоборот работаю на объединение
     
  • 1.8, Аноним (-), 00:16, 25/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    qtplatform надеюсь тоже есть который делает тоже самое но наоборот
     
  • 1.10, JL2001 (ok), 00:24, 25/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    годно, правильный подход

    а нет ли плагина который позволяет запускать приложение на одном компе, а окно рендрить на другом ? (дабы минимизировать сетевой трафик)(в связке с ссш например)

    зы: лично мне на гтк чихать, но такие плагины и такие возможности у Qt это круто

     
     
  • 2.12, Аноним (-), 00:36, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Такой фиче уж 20 лет в обед.
    Погуглите по ключевым словам ssh x11 forwarding
     
     
  • 3.35, Аноним (-), 09:07, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Придет Вейланд, дропнут Иксы и что тогда? Альтернативы нет, пока(VNC не предлагать).
     
     
  • 4.49, Аноним (-), 11:06, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Не дропнут. В маке дропнули ещё при рождении, но народ быстро прикрутил иксы и там.
     
     
  • 5.61, Аноним (-), 12:00, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Не дропнут. В маке дропнули ещё при рождении, но народ быстро прикрутил иксы и там.

    Не будет иксов на линуксе -- станут без надобности и на маке.

     
  • 3.46, Аноним (-), 10:36, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >>а окно рендрить на другом ? (дабы минимизировать сетевой трафик)
    >ssh x11 forwarding

    Сейчас это не помогает в смысле уменьшения трафика. Рендерят ныне сами тулкиты, а X'ам отдаётся готовая картинка.

     
     
  • 4.76, Crazy Alex (ok), 13:03, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Собственно, все "проблемы" иксов именно из-за этого
     
     
  • 5.95, Аноним (-), 19:00, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    У X есть проблемы? Однако не знал.
     
  • 2.18, Аноним (-), 02:11, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    В QT/QML недавно запилили такую фичу.
    Приложение работает на сервере, - а QT/QML графика, вроде как в браузере отрисовываеться, или на хосте клиента.
     
     
  • 3.20, key (??), 04:17, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    а по каким словам гуглить?
     
     
  • 4.114, ivanpetrov (ok), 02:29, 01/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Qt WebGL streaming: http://blog.qt.io/blog/2017/02/22/qt-quick-webgl-streaming/
     
  • 3.113, AlFoX (ok), 16:47, 28/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    да ну?
     

  • 1.11, VINRARUS (ok), 00:25, 25/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отлично. Теперь можна и Firefox на Qt переделывать. :D
     
  • 1.13, Аноним (-), 01:02, 25/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    Нужен проект по уничтожению gtk+ и тогда никаких проблем
    Только qt, и везде всё будет одинаково и без костылей
     
     
  • 2.15, Дуплик (ok), 01:45, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –14 +/
    Нужен проект по уничтожению Qt. Ведь на Qt только одна малопопулярная DE -- KDE. Мир даже не заметит, если Qt исчезнет. А вот если исчезнет GTK+, то ты вряд ли сможешь написать суда хоть что-то.
     
     
  • 3.16, VINRARUS (ok), 01:49, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Люди в кедах бьються больнее чем гномы. Акуратнее.
     
  • 3.24, Тот_Самый_Анонимус (?), 07:10, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Хм, у меня наоборот. Я не замечу, если ГТК исчезнет, потому что давно избавился от программ, на нём написанных, ведь они нигде не смотрятся как родные: везде смотрятся как выкидыши, кроме как в родном гноме. А в гноме они как у себя в доме, полном таких же внешних уродов.
     
  • 3.34, Аноним (-), 09:07, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Если сравнивать QT/QML и GTK+, то в пользу GTK+ только наследие, и ничего больше. Более того, HTML тоже следует принести в жертву QML, т.к. такому костыльному монстру не место в 21 веке.
     
  • 3.47, Аноним (-), 10:41, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >А вот если исчезнет GTK+, то ты вряд ли сможешь написать суда хоть что-то.

    Наивный пионЭр, вот у меня, например, нет на компе Gtk, а я сюда пишу.

    P.S. И у меня не Винда, и не МакОСь, если что.

     
  • 2.51, Я (??), 11:11, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это он и есть. У тех, кто писал на gtk только ради внешнего вида, больше не окажется отмазок, и они уйдут на qt.
     
     
  • 3.96, Аноним (-), 19:06, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вот практически не интересут внешний вид, т.к. не гуидрочер ни разу. Как разработчик я против QT из-за уродской архитектуры. Уродская архитектура еще и чужеродная по отношению к unix-way, так что в *nix не должно быть ее по идее. Я не понимаю сторонников QT как можно сознательно уходить в сторону уродства. Единственное вносит ясность в ситуацию - это высказывание о миллионах мух.
     
     
  • 4.98, Atom (??), 20:31, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Quick Time действительно хреновый. Спасибо, что напомнили. А как это связано с Qt?
     
  • 4.104, Аноним (-), 08:33, 26/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    и сколько тулкитов с расово верной
     
  • 4.105, Аноним (-), 08:34, 26/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    и сколько тулкитов с расово верной архитектурой написал месье программист?
     

  • 1.14, Дуплик (ok), 01:43, 25/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    То есть теперь Qt перестанет быть вырвиглазным?
     
     
  • 2.25, Тот_Самый_Анонимус (?), 07:11, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Для человека, выросшего среди квазимод, любой нормальный кажется уродом.
     
  • 2.36, Аноним (-), 09:11, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Вырвиглазным может быть дизайн интерфейса на Qt, но не сам Qt. И, разумеется, нет вины Qt в том, что его используют рукожопы. Qt не Python, никаких ограничений на фантазию разработчика не накладывает.
     
     
  • 3.40, llolik (ok), 09:54, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >  Вырвиглазным может быть дизайн интерфейса на Qt, но не сам Qt. И, разумеется, нет вины Qt в том, что его используют рукожопы.

    Поменяй Qt на GTK и в смысле фразы, кроме названия тулкита, ничего не изменится. Всё тоже самое справедливо и для GTK.

     
     
  • 4.43, Тот_Самый_Анонимус (?), 10:20, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Однако ведущие разработки на ГТК, ткие как ГИМП, Инкскейп и Пиджин выглядят чужеродными вне гнома, что говорит либо о некомпетентности разработчика, либо об ущербности инструментария.
     
     
  • 5.52, llolik (ok), 11:12, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну во-первых не только гнома, а ещё и гномопроизводных (Корицы, Крысы и т.д.).
    Во-вторых это говорит о том, что, как ниже уже написали, GTK не ставит (в отличие от Qt) своей основной задачей кроссплатформенность. Странно, они вроде этого и не скрывали, но все почему-то думают иначе.
    В-третьих, Qt-программы тоже в среде отличной от KDE выглядят хоть чуть и получше, но всё равно чужеродно.
     
     
  • 6.62, Аноним (-), 12:08, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Кросплатформенность здесь не причем. Насчет "чужеродности", Вы явно не писали на QML. Поясню ситуацию, - на QML разработчик сам рисует и стилизует все элементы, создает анимации и применяет шейдеры. Т.ч. итоговый дизайн и юзабилити интерфейса - заслуга только разработчика ПО. QML со своей задачей справляется на 5+, а именно предоставляет разработчику абсолютную гибкость для реализации любых фантазий. Он намного гибче HTML и GTK, и многократно превосходит их по производительности.
     
     
  • 7.79, Crazy Alex (ok), 13:10, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Как пользователь - я бы с удовольствием придушил за такой подход. Пусть разработчики засунут свою богатую фантазию куда подальше вместе с шейдерами ит анимациями, а работают, чёрт возьми, с готовыми контролами, предоставляемыми системой - и, пожалуйста, с минимальным количеством настроек, относящихся ко внешнему виду. А дефолтам и настройкам место в теме, контролируемой пользователем. Но в Qt накрутили что-то таоке печальное, что на внешний вид приложения пользователь толком повлиять не может.

    В этом плане идеальным в плане архитектуры был в своё время механизм XResources - настройки и адресация хоть всего сразу, хоть индивидуального виджета. Вот примерно так бы и надо.

     
  • 6.77, Тот_Самый_Анонимус (?), 13:10, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    На винде - как родные. В Гноме 2, раньше сами гномеры говорили что как родные, в третьем не знаю, я этим шлаком не пользуюсь. А вот ГТКшные везде уродливо смотрятся, а не в гноме ещё и чужеродными.
     
  • 2.48, Аноним (-), 11:00, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    К окулисту сходи.
     

  • 1.17, Аноним (-), 02:04, 25/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Попробовал этот плагин в Arch. Работает, но сырой еще. Если Qt-приложение имеет собственный интерфейс, отличный от "стандартного", gtkplatform с ним конфликтует.  Например, проигрыватель QMMP перестает запускаться, если у него в настройках указан интерфейс с поддержкой обложек (winamp-подобный). Так что покамест посижу на qt5gtk2.
     
  • 1.19, Аноним (-), 02:43, 25/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Чо люди ни придумают, лишь бы FLTK не юзать
     
     
  • 2.41, Аноним (-), 10:03, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Позёр! Motif вещь.
     
     
  • 3.50, Аноним (-), 11:09, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Он, таки, прав, FLTK представляет собой OO API, в отличие от. Даже тот же Gtk, и тот более ОО, по сравнению с никаким в этом отношении Motif.
     

  • 1.21, Аноним (-), 05:39, 25/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    теперь надо на qt gtk эмулировать и сравнить кто лучший гном и наоборот, глядишь фаны ченьчж оформят.
     
  • 1.22, Аноним (-), 05:47, 25/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Зачем на непонятном нечто, которое некоторые используют вместо тулкита, эмулировать тулкит? Тем более, что в няшных кедах и так всё выглядит и работает единообразно.
     
  • 1.26, Аноним (-), 07:39, 25/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    О, левитирующие макароны на скриншотах, найс.
     
     
  • 2.97, Аноним (-), 20:23, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    АКА "рожки"
     

  • 1.27, A.Stahl (ok), 07:59, 25/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Никогда не понимал этого стремления к мимикрии друг в друга. Что плохого если Qt-программа будет выглядеть как Qt-программа, а GTK, соответственно, как GTK?
     
     
  • 2.31, X2asd (ok), 08:27, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    в данном случае не мимикрирование под GTK, а реализация отрисовки на GTK
     
     
  • 3.32, A.Stahl (ok), 08:42, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Но результат аналогичный. Тем более, что такой подход не избавляет от необходимости иметь Qt в системе.
     
     
  • 4.37, X2asd (ok), 09:13, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Тем более, что такой подход не избавляет от необходимости иметь Qt в системе.

    ну малоли какие дурааки софт пишут.

    некоторые не хотят писать под линукс (то есть -- писать сразу на GTK), а компилируют для линукса -- только подачки получаемые ввиде сборки кросплатформенного кода (Qt, wxWidgets, Java, ...)..

    находятся даже и те которые вообще пишут софт на C# под расчёт на Mono, и для них тоже требуется держать в системе кучу гоовна..

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

    приходится с этими людьми как-то жить, и тоже совержать жертвы

     
  • 2.59, Аноним (-), 11:43, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Что плохого если Qt-программа будет выглядеть как Qt-программа, а GTK, соответственно, как GTK?

    Любитель лёхких WM? Ну что уж там, пусть тогда каждое приложение свою собственную прибитую к нему тему запиливает. Красота будет на арене s/цирка/экране.

     
     
  • 3.112, Аноним (-), 19:52, 27/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    шютка про замену была бы смешнее, если б не было очевидным, что ты подобное сочетание букв набираешь только в комментах
     

  • 1.29, Ilya Indigo (ok), 08:13, 25/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Вместо того, чтобы свои родные GTK-ные приложения на GTK3+ красиво отобразить на Qt, они предлагают изуродовать все родные Qt-ные приложения.
    Нет уж, заберите этот кусок кала себе!
     
     
  • 2.33, X2asd (ok), 08:49, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    потомучто GTK не ставит кросплатформенность -- своей осноаной целью.

    GTK главным образом это мэйнстрим GUI в линукс-ос.

    а вот Qt сразу позиционировали себя кросплатформенным, с набором кросплатформенных костылей как неотъемлемая часть себя.

    таким образом вполне логично что Qt должен уметь отрисовывать себя через GTK (то есть через стандартный линуксовский GUI-тулкит) :-) .. а наоборот -- вовсе не обязательно

     
     
  • 3.38, Аноним (-), 09:14, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > с набором кросплатформенных костылей

    По крайней мере один человек с вами не согласен.

     
  • 3.60, Аноним (-), 11:47, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Такой мейнстрим, что куча проектов с него на Qt мигрироваала.
     
     
  • 4.63, X4asd (ok), 12:08, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Такой мейнстрим, что куча проектов с него на Qt мигрироваала.

    не бзди! линуксовские программы -- не мигрировали на Qt.

    а мигрировали только те программы, которые были сделаны для Windows и имели Linux-версию просто как очередной свой порт.

     
     
  • 5.91, Аноним84701 (ok), 17:02, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > а мигрировали только те программы, которые были сделаны для Windows и имели Linux-версию просто как очередной свой порт.

    А пацаны в LXDE, Budgie, GCompris, SubSurface, Audacious, Wireshark ... и не знали! А оно вот как  оказывается — на самом деле все для Окошек делалось!

     
     
  • 6.102, X2asd (ok), 08:04, 26/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > ...GCompris, SubSurface, Audacious, Wireshark ... и не знали! А оно вот как  оказывается — на самом деле все для Окошек делалось!

    лол! ты так удивляешься будто я сделал для тебя не весть какой открытие...

    да, для окошек! а что?

    а почему тебе это кажется странным? очевидно авторы *этих* программ щитают Окошки более приоритетным направоением, и наверняка сами зачастую сидят на ноутбуках с Windows..

    (а бывают такие люди-программисты, которые и вообще не загружаются в Linux ос никогда, и всегда сидят только на окошках)

    Wireshark существует как Qt-версия (сделанная ОЧЕВИДНО для Windows, и это не скрывается.. хотя любой извращениц может и на Linux это установить) и Gtk-версия (сделання для Linux), но возможно авторы откажутся от Gtk , если пощитают что существование Windows-версии уже достаточно (с возможностью кривенькой сборки на Linux, которым например если не будут пользоваться сами авторы то вообще наасрать, как они пощитают)

    # P.S. из перечисленного тобой только в LXDE и Budgie -- ситуация не ясная. LXDE имеет и Qt и Gtk версии, а Budgie вообще только Gtk и их фантазии по поводу Qt основаны на каком-то бреде типа "у нас лёгкая оболочка не утяжелённая ни чем, но мы хотим добавить видео-эффекты и прочие многочисленные плюшки, хрен знает как их сделать не внеся утяжелений. наверно в Qt всё получиться, ведь хорошо всегда там где нас нет"

     
     
  • 7.109, Аноним84701 (ok), 14:17, 26/09/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> ...GCompris, SubSurface, Audacious, Wireshark ... и не знали! А оно вот как  оказывается — на самом деле все для Окошек делалось!
    > лол! ты так удивляешься будто я сделал для тебя не весть какой открытие...
    > да, для окошек! а что?
    > а почему тебе это кажется странным? очевидно авторы *этих* программ щитают Окошки
    > более приоритетным направоением, и наверняка сами зачастую сидят на ноутбуках с
    > Windows..

    Cколько жЫра^W пафоса.

    https://github.com/torvalds/subsurface-for-dirk/graphs/contributors
    torvalds
    > 802 commits / 336,250 ++ / 14,768 --

    Известнейший фанат Окошек, ага. С фирменным одобрительным жестом.


    https://www.opennet.dev/opennews/art.shtml?num=40067
    > 24.06.2014 04:02 Audacious возвращается на GTK2, в перспективе переход на Qt
    > Решение объясняется несогласием с методами развития последних выпусков GTK3+ и продвижением изменений,
    >  усложняющих разработку традиционных интерфейсов для настольных систем.

    В общем — худей.

     
  • 4.64, Аноним (-), 12:13, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Мигрировали немногие. Питонисты не мигрировали точно. Сейчас мало людей, способных здраво и объективно производить оценку ситуации. Везде фанатизм. Поэтому жив Python, поэтому жив HTML, поэтому будет жить GTK.
     
     
  • 5.87, Аноним (-), 14:53, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Только PyGtk не очень жив
     
  • 5.100, Led (ok), 00:34, 26/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Питонисты не мигрировали точно.

    Рождённый ползать мигрировать не может.

     

  • 1.30, Anonimous (?), 08:23, 25/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Изобрели wxWidgets
     
  • 1.39, Аноним (-), 09:53, 25/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Плюс в карму Qt за удачную архитектуру, позволяющую такое. Чего не скажешь о ГТК! Но получается нехорошая ситуация: худший фреймворк становится основой системы (gtk), а лучший - всего лишь настройкой.
     
     
  • 2.65, X4asd (ok), 12:14, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Плюс в карму Qt за удачную архитектуру, позволяющую такое.

    [сарказм]позваляющее аж такое?! ну и чюдеса![/сарказм]

    а больше ничего другого они там не позволяют?

    например чтобы не только форма/цвет кнопочек менялась, но ещё и автоматически Human Interface Guidelines подхватывалось от той операционной системы под которую производится компилирование?

    или разработчики Qt об этом решили тихонько умолчать? мол -- "пусть эти фанаты кросплатформенности сидят себе в РАДОСТНОМ неведении о том, что мало скомпилировать программу под конкретную ос, но ещё и нужно бы уважать способ размещения контроллов управления ИМЕННО ТАК как принято в этой конкретной ОС..."

    # P.S.: а ещё больший эпик фэйл -- это у кросплатформенных идиоотов на Java! они зачастую ещё глупее -- и даже не то что про H.I.G. не знают, но и даже банально не догадываются что каталог /tmp/ это оперативная память (и что нельзя туда срать десятками гигобайтов файлов, скачанных из интернета)

    # P.P.S.: вам хоть 500 раз повтори что у каждой операционной системы свои нюансы, которые нужно учитывать (если хотите сделать качественную пограмму), а вы всё равно вы за своё -- "хочу чтобы коммпилятор мне сделал бы кросплатформенность за меня сам, и сам разрулил бы все нюансы".. ТФУ!

     
     
  • 3.67, Аноним (-), 12:20, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > или разработчики Qt об этом решили тихонько умолчать? мол -- "пусть эти фанаты
    > кросплатформенности сидят себе в РАДОСТНОМ неведении о том, что мало
    > скомпилировать программу под конкретную ос, но ещё и нужно бы уважать способ
    > размещения контроллов управления ИМЕННО ТАК как принято в этой конкретной ОС..."

    В QML контроллы размещает сам программист. Причем здесь Qt?

     
     
  • 4.69, X4asd (ok), 12:25, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> или разработчики Qt об этом решили тихонько умолчать? мол -- "пусть эти фанаты
    >> кросплатформенности сидят себе в РАДОСТНОМ неведении о том, что мало
    >> скомпилировать программу под конкретную ос, но ещё и нужно бы уважать способ
    >> размещения контроллов управления ИМЕННО ТАК как принято в этой конкретной ОС..."
    > В QML контроллы размещает сам программист. Причем здесь Qt?

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

    вот тебе HIG паттерн для Линукса (GNOME) -- https://developer.gnome.org/hig/stable/patterns.html.en

    в Windows размещение должно быть совершенно другим (а также другое ожидается Windows-пользователями количество цветных пиктограмм).

    как это решает Qt? ни как? ну и нафига тогда было городить эти все слои совместимости? для производства КЛОУНСКОГО софта?

     
     
  • 5.81, Crazy Alex (ok), 13:17, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это не для линукса, это для гнома HIG. Судя по результату - совершенно чудовищный. Опять же - это ж не мобила, где приложение состоит из трёх кнопок и открыватеся на 10 секунд. На ПК в софте работают. И то, насколько продуман гуй относительно рабочего процесса на порядок важнее, чем его соответствие отчередному локальному окружению.Как по мне - надо вообще наплевать на идентичнй look & feel и делать так, как оптимально для конкретного случая. Не забыв, конечно, дать пользователю как можно больше ручек чтобы всё это подкрутить при нужде.
     
  • 5.83, Аноним (-), 13:29, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > как это решает Qt? ни как?

    Это решает не Qt, а программист. И в общем случае это правильный подход. Хороший тому пример - X.Org, мультикомбайн, который делает всё и делает кое как. Qt решает одну конкретную задачу и делает это хорошо. На базе Qt программист может без проблем сделать любое размещение кнопок.
    Я лично не вижу вообще в этом никакой проблемы. Но если Вас заботят такие мелочи -
    напишите разработчику программы, и он наверняка поправит данный момент.

     
     
  • 6.93, Crazy Alex (ok), 17:39, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Qt - одну конкретную задачу? Вы его вообще видели?

    P.S. X.org, кстати, решает таки одну задачу - реализует протокол X11.

     
     
  • 7.106, Аноним (-), 09:08, 26/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >P.S. X.org, кстати, решает таки одну задачу - реализует протокол X11.

    очевидно, qt решает таки одну задачу - реализует кроссплатформенный тулкит

     
  • 3.68, Аноним (-), 12:22, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > но и даже банально не догадываются что каталог /tmp/ это оперативная память

    /tmp/ - не оперативная память, это память для временных объектов, разных кэшей.

     
     
  • 4.70, X4asd (ok), 12:29, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >> но и даже банально не догадываются что каталог /tmp/ это оперативная память
    > /tmp/ - не оперативная память, это память для временных объектов, разных кэшей.

    можешь абстрагироваться как хочешь -- а суть реализации всё равно не поменяется -- /tmp/ это оперативная память.

    для кэшей которые НЕ в оперативной памяти есть ~/.cache/ и /var/ ( /var/cache/ и /var/lib/ )

     
     
  • 5.78, Аноним (-), 13:10, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > можешь абстрагироваться как хочешь -- а суть реализации всё равно не поменяется -- /tmp/ это оперативная память.

    Можешь думать чё хочешь, каталог tmp (от слова temporary - временный) на многих системах находится на жестком диске (или ssd). Основная его суть - размещение временных файлов. Никаких стандартов и законов, что он должен находиться в оперативной памяти нет.

     
  • 5.84, Аноним (-), 14:07, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Абстрагироваться куда, откуда, о чем вы болезный? /dev/shm - в оперативной памяти, а /tmp - на диске.
     
     
  • 6.90, X4asd (ok), 15:54, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Абстрагироваться куда, откуда, о чем вы болезный? /dev/shm - в оперативной памяти, а /tmp - на диске.

    вот тебе фрагмент кода отечающий за то что /tmp/ в итоге идёд в оперативную память:

    https://github.com/systemd/systemd/blob/v234/units/tmp.mount.m4

    что на это скажешь? съел?

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

    или скажешь что исходны код systemd это якобы не показатель линуксовских ос?

    > /dev/shm - в оперативной памяти

    и это тоже (но предназначено для более специализированной цели -- межпроцессоного взаимодействия).

     
     
  • 7.99, Аноним84701 (ok), 23:09, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Абстрагироваться куда, откуда, о чем вы болезный? /dev/shm - в оперативной памяти, а /tmp - на диске.
    > вот тебе фрагмент кода отечающий за то что /tmp/ в итоге идёд

    man hier
    https://manpages.debian.org/stretch/manpages/hier.7.en.html
    [CODE]
    /tmp
    This directory contains temporary files which may be deleted with no notice, such as by a regular job or at system boot up.[/CODE]

    > в оперативную память:
    > https://github.com/systemd/systemd/blob/v234/units/tmp.mount.m4
    > или скажешь что исходны код systemd это якобы не показатель линуксовских ос?

    systemctl enable tmp.mount уже делать не надо?

    Кстати:
    https://www.freedesktop.org/software/systemd/man/systemd.mount.html
    > Mount units may either be configured via unit files, or via /etc/fstab (see fstab(5) for details).
    > ...
    > In general, configuring mount points through /etc/fstab is the preferred approach

     
     
  • 8.103, X4asd (ok), 08:27, 26/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    верно -- делать enable не требуется это уже есть соответствующий Wants в basic ... текст свёрнут, показать
     
  • 3.71, Аноним (-), 12:31, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > вам хоть 500 раз повтори что у каждой операционной системы свои нюансы.

    От тех нюансов, которые Вы описали, следовало бы вообще избавиться, придти к какому-то единообразию. Распихивать контроллы в разном порядке в разные углы окон для каждой ОС просто потому что кто-то сказал так делать - это глупость, рудимент, в котором нет никакого смысла. По себе могу сказать, я постоянно переключаюсь между виндой и линем, и не замечаю что порядок расположения кнопок меняется. У вас же целая истерика по этому пустяку, может проблем в чем-то другом?

     
     
  • 4.72, X4asd (ok), 12:34, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > От тех нюансов, которые Вы описали, следовало бы вообще избавиться, придти к какому-то единообразию.

    ну щитай что уже пришли. просто используй Linux без Windows и тогда будет у тебя единообразие :-) без нюансов кросплатформенности...

    в чужой манастырь со своим уставом не ходят.

    если ты решил писать под Windows -- то будь добр уважай Вендусовые стандарты оформления. (и вендусовые лучшие практики программирования -- для реализации слоя логики)

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

     
     
  • 5.82, Аноним (-), 13:20, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > в чужой манастырь со своим уставом не ходят.

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

     
     
  • 6.88, X4asd (ok), 15:44, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Каждый программист вправе сделать такой GUI, какой желает и собрать под любую ОС

    но это не отменяет того факта что потом каждый пользователь этого GUI останется недоволен -- и вполне тоже *имеет_право* написать эту *правду* на любом форуме...

    ...дабы предупредить других начинающих программистов (которые тоже "...вправе сделать такой GUI, какой желает и собрать под любую ОС") *заранее* предупредить -- не заниматься созданием гоовна.

    > А если хочешь что-то изменить, напиши в баг-трекер того ПО

    архитекрурные проблемы -- записью в багтрекер не исправишь.

    тебе просто у виска покрутят пальцем и всё.. status:CLOSED solution:WONTFIX

     

  • 1.45, Аноним (-), 10:31, 25/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Виджеты в 2017м году... Перспективненько)
     
     
  • 2.53, anonymous (??), 11:20, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А что? HTML5+JS?
     
     
  • 3.55, Alex (??), 11:29, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    +1. Осталось притащить Electron/NodeJS -> успех гарантирован.
     
  • 3.66, Аноним (-), 12:16, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Ё-моё, QMl же!
     
     
  • 4.89, anonymous (??), 15:48, 25/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    JSON+JS
     

  • 1.73, ремиксовед (?), 12:53, 25/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > задействовать в Qt-приложениях родные диалоги, обработчики ввода и меню GTK+

    Новость отличная, поздравляю гномеров.

    Но вот когда же уже для gtk+ сделают нормальные диалоги. Не эти убогие обрубки, лишённые всяческих возможностей, а нормальные диалоги, как в kde, qt и даже в винде.

    Это же позор линукса продолжительностью с десяток лет.

     
     
  • 2.101, Led (ok), 00:36, 26/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Это же позор линукса продолжительностью с десяток лет.

    Не-не-не, ты ваш гномосековский позор на линукс не перекладывай.

     
  • 2.111, Аноним (-), 20:19, 26/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Есть QML. А позору линукса пора на покой.
     

  • 1.107, Аноним (-), 10:58, 26/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Самое гнусное, что эта штука ест только Qt темы (Adwaita-Qt и Fusion-Qt). Т.е. это никак не замена QGtkStyle. А жаль... Хотелось бы QGtkStyle с поддержкой GTK3 тем.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру