Interested Article - FLTK

F ast, L ight T ool k it — кросс-платформенная библиотека инструментов с открытым исходным кодом (лицензия LGPL ) для построения графического интерфейса пользователя (GUI). FLTK произносится как «фултик» .

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

Библиотека использует свои собственные независимые системы виджетов, графики и событий, что позволяет писать программы одинаково выглядящие и работающие на разных операционных системах. В отличие от других подобных библиотек ( Qt , GTK , wxWidgets ) FLTK ограничивается только графической функциональностью. Поэтому она имеет малый размер и обычно компонуется статически (это исключение из лицензии GNU Lesser General Public License , разрешенное разработчиками). FLTK не использует сложных макросов , препроцессоров и продвинутых возможностей языка C++ ( шаблоны , исключения , пространства имен ). Вкупе с малым размером кода, это облегчает использование библиотеки не очень искушенными пользователями.

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

Название

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

История

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

Особенности

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. — 2021.
  2. — 2021.
  3. . Дата обращения: 8 апреля 2014. 8 февраля 2014 года.
  4. (англ.) . Архивировано из 19 августа 2013 года.
  5. (англ.) . Дата обращения: 29 октября 2008. Архивировано из 10 марта 2012 года.

Литература

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

Ссылки

  • — официальный сайт FLTK
Источник —

Same as FLTK