The OpenNET Project / Index page

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

Выпуск Cambalache 1.0, инструмента для разработки GTK-интерфейсов

21.03.2026 11:28 (MSK)

Представлен релиз проекта Cambalache 1.0, развивающего инструмент быстрой разработки интерфейсов для GTK 3 и GTK 4, использующий визуальное проектирование (WYSIWYG), парадигму MVC и философию первостепенного значения модели данных. Присвоение номера версии 1.0 преподносится как достижение готовности проекта к широкому использованию. Код написан на Python и поставляется под лицензией LGPLv2.1. Для установки доступен пакет в формате flatpak.

В отличие от Glade в Cambalache предоставляется поддержка ведения нескольких интерфейсов пользователя в одном проекте. Cambalache не зависит от GtkBuilder и GObject, но предоставляет модель данных, соответствующую системе типов GObject. Поддерживается редактирование, визуализация и создание GTK-стилей в формате CSS, редактирование XML-файлов с ресурсами GResources, создание шаблонов и виджетов, использование XML-файлов GtkBuilder и разметки Blueprint.

Модель данных может импортировать и экспортировать разом несколько интерфейсов, поддерживает объекты, свойства и сигналы GtkBuilder, предоставляет стек отката операций (Undo / Redo) и возможность сжатия истории команд. Для генерации модели данных из gir-файлов предоставляется утилита cambalache-db, а для генерации классов GObject из таблиц модели данных - утилита db-codegen.

Интерфейс может генерироваться на базе GTK 3 и GTK 4, в зависимости от определённой в проекте версии. Для обеспечения поддержки разных веток GTK формирование рабочей области осуществляется в отдельном процессе с привлечением виджета Casilda, позволяющего встраивать в GTK4-приложения окна других процессов и реализованного в форме специализированного композитного сервера, использующего протокол Wayland и библиотеку wlroots. Casilda создаёт виртуальные устройства ввода, события в которые транслируются из GtkEventController, а также виртуальное устройство вывода, имеющее размер как у встроенного в приложение виджета. При помощи wlroots содержимое для предпросмотра отрисовывается в пиксельный буфер и загружается как поверхность Cairo (cairo.Surface) для отрисовки в GTK.



  1. Главная ссылка к новости (https://blogs.gnome.org/xjuan/...)
  2. OpenNews: Доступен графический тулкит GTK 4.22 со встроенным движком отрисовки SVG
  3. OpenNews: Ardour прекратил поддержку сборки с GTK2 в пользу форка YTK
  4. OpenNews: Собраны средства для разработки GNOME Builder
  5. OpenNews: Выход Glade 3.21, оболочки для визуального проектирования интерфейсов на GTK+
  6. OpenNews: В GNOME SDK добавлена поддержка языка построения интерфейсов Blueprint
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65039-cambalache
Ключевые слова: cambalache, gtk
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (12) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, Аноним (3), 12:15, 21/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Cambalache от слова камбала? Хорошо подходит к GTK.
     
     
  • 2.4, llolik (ok), 12:25, 21/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Автор - аргентинец. Переводится, как магазин подержаных вещей. Почему так назвал, в новости первая ссылка на блог, там написано. Вкратце, просто потому что это характерное местное слово и автор хотел подчеркнуть, что приложение сделано в Южной Америке.
     
     
  • 3.9, Аноним (9), 12:45, 21/03/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Переводится, как магазин подержаных вещей.

    Еще лучше подходит для GTK.

     

  • 1.10, trooper97 (?), 12:45, 21/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Хорошо подходит к GTK.

    Было бы странно, если бы инструмент для разработки GTK-интерфейсов плохо подходил к GTK.

     
     
  • 2.14, Аноним (3), 14:37, 21/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Назваание хорошо подходит.
     
  • 2.18, Жыжа (?), 15:01, 21/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А может и не было бы - вот GIMP Toolkit, как известно, плохо подходит к GIMP.
     

  • 1.11, Аноним (11), 12:51, 21/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Т.е. так порицаемое противниками Delphi "формошлёпство" оказалось правильным?
     
     
  • 2.12, llolik (ok), 13:30, 21/03/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Т.е. так порицаемое противниками Delphi "формошлёпство" оказалось правильным?

    Формошлёпством, как я его понимал, называлось не создание UI, как таковое. Это когда всю логику приложения распихивали по обработчикам контролов (многие это любили в Дельфях делать). В результате весь код приложения состоял из кучи условных Button1Click.

     
  • 2.15, Аноним (15), 14:39, 21/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Сравнение не правильное. У Дельфи RAD - Система Быстрой Разработки, когда при помощи мыши можно создать форму окна или снопку. А тут ВИСИВИГ - просматривать результат на лету.
     

  • 1.13, Аноним (13), 13:44, 21/03/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.16, Сладкая булочка (?), 14:49, 21/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Просто откройте glade и увидите разницу в дизайне нормального инструмента (glade) от этого.
     
  • 1.17, Жыжа (?), 14:57, 21/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чёто глядя на скриншоты "инструмента быстрой разработки интерфейсов, использующего визуальное проектирование (WYSIWYG)" теряется вера в этот самый WYSIWIG. Инструмент для разработки интерфейсов в первую очередь сам должен быть примером *нормального* интерфейса, а тут ещё один GIMP, и пальцетыкательные контролы GTK4 ну вообще никак не подходят туда, где подразумевается больше 3 кнопок и 2 переключателей.

    Как это выглядело в Delphi: https://docs.devexpress.com/VCL/images/ExpressVerticalGrid/Concepts_AssigningE
    В дотнете с WPF https://raw.githubusercontent.com/wiki/xceedsoftware/wpftoolkit/PropertyGrid_p
    С WinForms: https://docs.devexpress.com/WindowsForms/images/XtraVerticalGrid/PropertyGridV
    В Godot вон смогли родить подобное: https://preview.redd.it/new-to-godot-need-some-guidance-for-resizing-view-port
    ...

    GTK: https://imgur.com/a/hq1LNRd

    Почему здесь оно такое колхозное из палочек и веточек? Фундаментально нет возможности нарисовать какой контрол, или гномий коран подобное не одобряет?

     

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



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

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