FLTK

Материал из Википедии — свободной энциклопедии
FLTK
Логотип программы FLTK
Скриншот программы FLTK
Тип библиотека элементов интерфейса (виджетов)
Написана на C++
Операционная система
Кроссплатформенное ПО
Первый выпуск 1998
Последняя версия
Репозиторий github.com/fltk/fltk
Лицензия GNU Lesser General Public License[3]
Сайт fltk.org (англ.)
Логотип Викисклада Медиафайлы на Викискладе

Fast, Light Toolkit —

LGPL) для построения графического интерфейса пользователя (GUI). FLTK произносится как «фултик»[4]
.

Изначально разрабатывалась Биллом Спицтаком (Bill Spiztak). FLTK создавалась для поддержки 3D графики и поэтому имеет встроенный интерфейс к OpenGL, но хорошо подходит и для программирования обычных интерфейсов пользователя.

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

исключения, пространства имен
). Вкупе с малым размером кода, это облегчает использование библиотеки не очень искушенными пользователями.

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

Название

Изначально назывался FL (Forms Library). При переходе в open source выяснилось, что поиск по названию FL практически невозможен — аббревиатура FL также означает штат Флорида. Поэтому пакет был переименован в FLTK (FL Toolkit), позднее ему был придуман бэкроним Fast, Light Toolkit.

История

FLTK начал разрабатываться как замена библиотеке

Windows. FLTK появился раньше, чем другие популярные библиотеки для создания GUI, но был практически неизвестен до 1998 года[5]
.

Особенности

FLTK представляет собой библиотеку виджетов и работает на ОС UNIX/Linux X11, Microsoft Windows и MacOS X. Малый объём библиотеки делает её подходящей для использования во встраиваемых системах.

Для встраиваемых систем на основе embedded Linux возможны следующие варианты:

FLTK + nxlib + nano-X (довольно стабильно работает, но есть проблемы с кириллицей)

FLNX — порт FLTK 1.0.7 на nano-X (работает только с версией 0.92)

DirectFB FLTK — порт FLTK на DirectFB + собственно сам DirectFB (данная сборка нестабильная, шрифты необходимо инсталлировать как для X11 и указать путь в конфиге)

Пример

Следующий пример для FLTK 1.x создаёт окно с кнопкой «Нажми», и по нажатию заменяет её текст:

#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Button.H>
 
void
button_callback(Fl_Widget* o, void*)
{
	Fl_Button* button = (Fl_Button*) o;
	button->label("Уиииии!");
	button->redraw();
}
 
int
main()
{
	/**
	 * Инициализировать окно шириной 300px,
	 * высотой 200px и названием "Тест".
	 */
	Fl_Window window(300, 200, "Тест.");

	/**
	 * В блоке между методами begin() и end() объявляем кнопку,
	 * левый верхний край которой расположен в (10; 150),
	 * шириною 100px и высотою 30px.
	 */
	window.begin();
		Fl_Button button(10, 150, 100, 30, "Нажми");
	window.end();

	/* Привязать callback-функцию к кнопке. */
	button.callback(button_callback);

	/* Показать окно. */
	window.show();
	return Fl::run();
}

Сборка осуществляется вводом следующей команды в терминале:

g++ test.cpp -o test -lfltk

Использование

См. также

Примечания

  1. https://www.fltk.org/articles.php?L1984
  2. https://github.com/fltk/fltk/releases/tag/release-1.4.3
  3. FLTK License Agreement. Дата обращения: 8 апреля 2014. Архивировано 8 февраля 2014 года.
  4. Fast Light Toolkit (FLTK) (англ.). Архивировано из оригинала 19 августа 2013 года.
  5. Article №362: What is FLTK? (англ.). Дата обращения: 29 октября 2008. Архивировано из оригинала 10 марта 2012 года.

Литература

  • Бьярне Страуструп. Программирование. Принципы и практика с использованием C++. — 2-е издание. — М., СПб., К.: Вильямс
    , 2016. — 1328 с. — ISBN 978-5 -8459-1949-6.

Ссылки

  • fltk.org — официальный сайт FLTK