FLTK

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
FLTK
Fltk shadow.png
Тип

библиотека элементов интерфейса (виджетов)

Написана на

C++

Операционная система

Кроссплатформенное ПО

Первый выпуск

1998

Последняя версия

1.3.2 (9 декабря 2012)

Лицензия

GNU Lesser General Public License[1]

Сайт

fltk.org

Fast, Light Toolkit — кросс-платформенная библиотека инструментов с открытым исходным кодом (лицензия LGPL) для построения графического интерфейса пользователя (GUI). FLTK произносится как "фултик"[2].

Название[править | править исходный текст]

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

История[править | править исходный текст]

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

Особенности[править | править исходный текст]

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 (данная сборка нестабильная и не умеет рисовать шрифты)

Пример[править | править исходный текст]

Следующий пример для 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

Использование[править | править исходный текст]

Примечания[править | править исходный текст]

См. также[править | править исходный текст]

Ссылки[править | править исходный текст]

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