FLTK

Поделись знанием:
Перейти к: навигация, поиск
FLTK
Тип

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

Написана на

C++

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

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

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

1998

Лицензия

GNU Lesser General Public License[1]

К:Википедия:Статьи без изображений (тип: не указан)К:Программное обеспечение, разработанное в 1998 году

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

Изначально разрабатывалась Биллом Спицтаком (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 года[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 (данная сборка нестабильная, шрифты необходимо инсталлировать как для 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

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

Напишите отзыв о статье "FLTK"

Примечания

  1. [www.fltk.org/COPYING.php FLTK License Agreement]
  2. [www.fltk.org/index.php Fast Light Toolkit (FLTK)] (англ.). [www.webcitation.org/6Izuk5LUr Архивировано из первоисточника 20 августа 2013].
  3. [www.fltk.org/articles.php?L362+I10+TFAQ+M10+P1+Q Article №362: What is FLTK?] (англ.). Проверено 29 октября 2008. [www.webcitation.org/664Ebrz9q Архивировано из первоисточника 10 марта 2012].

См. также

Ссылки

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

Отрывок, характеризующий FLTK

– Куда же это ведут тебя, голубчик ты мой? – сказала она. – Девочку то, девочку то куда я дену, коли она не ихняя! – говорила баба.
– Qu'est ce qu'elle veut cette femme? [Чего ей нужно?] – спросил офицер.
Пьер был как пьяный. Восторженное состояние его еще усилилось при виде девочки, которую он спас.
– Ce qu'elle dit? – проговорил он. – Elle m'apporte ma fille que je viens de sauver des flammes, – проговорил он. – Adieu! [Чего ей нужно? Она несет дочь мою, которую я спас из огня. Прощай!] – и он, сам не зная, как вырвалась у него эта бесцельная ложь, решительным, торжественным шагом пошел между французами.
Разъезд французов был один из тех, которые были посланы по распоряжению Дюронеля по разным улицам Москвы для пресечения мародерства и в особенности для поимки поджигателей, которые, по общему, в тот день проявившемуся, мнению у французов высших чинов, были причиною пожаров. Объехав несколько улиц, разъезд забрал еще человек пять подозрительных русских, одного лавочника, двух семинаристов, мужика и дворового человека и нескольких мародеров. Но из всех подозрительных людей подозрительнее всех казался Пьер. Когда их всех привели на ночлег в большой дом на Зубовском валу, в котором была учреждена гауптвахта, то Пьера под строгим караулом поместили отдельно.


В Петербурге в это время в высших кругах, с большим жаром чем когда нибудь, шла сложная борьба партий Румянцева, французов, Марии Феодоровны, цесаревича и других, заглушаемая, как всегда, трубением придворных трутней. Но спокойная, роскошная, озабоченная только призраками, отражениями жизни, петербургская жизнь шла по старому; и из за хода этой жизни надо было делать большие усилия, чтобы сознавать опасность и то трудное положение, в котором находился русский народ. Те же были выходы, балы, тот же французский театр, те же интересы дворов, те же интересы службы и интриги. Только в самых высших кругах делались усилия для того, чтобы напоминать трудность настоящего положения. Рассказывалось шепотом о том, как противоположно одна другой поступили, в столь трудных обстоятельствах, обе императрицы. Императрица Мария Феодоровна, озабоченная благосостоянием подведомственных ей богоугодных и воспитательных учреждений, сделала распоряжение об отправке всех институтов в Казань, и вещи этих заведений уже были уложены. Императрица же Елизавета Алексеевна на вопрос о том, какие ей угодно сделать распоряжения, с свойственным ей русским патриотизмом изволила ответить, что о государственных учреждениях она не может делать распоряжений, так как это касается государя; о том же, что лично зависит от нее, она изволила сказать, что она последняя выедет из Петербурга.
У Анны Павловны 26 го августа, в самый день Бородинского сражения, был вечер, цветком которого должно было быть чтение письма преосвященного, написанного при посылке государю образа преподобного угодника Сергия. Письмо это почиталось образцом патриотического духовного красноречия. Прочесть его должен был сам князь Василий, славившийся своим искусством чтения. (Он же читывал и у императрицы.) Искусство чтения считалось в том, чтобы громко, певуче, между отчаянным завыванием и нежным ропотом переливать слова, совершенно независимо от их значения, так что совершенно случайно на одно слово попадало завывание, на другие – ропот. Чтение это, как и все вечера Анны Павловны, имело политическое значение. На этом вечере должно было быть несколько важных лиц, которых надо было устыдить за их поездки во французский театр и воодушевить к патриотическому настроению. Уже довольно много собралось народа, но Анна Павловна еще не видела в гостиной всех тех, кого нужно было, и потому, не приступая еще к чтению, заводила общие разговоры.
Новостью дня в этот день в Петербурге была болезнь графини Безуховой. Графиня несколько дней тому назад неожиданно заболела, пропустила несколько собраний, которых она была украшением, и слышно было, что она никого не принимает и что вместо знаменитых петербургских докторов, обыкновенно лечивших ее, она вверилась какому то итальянскому доктору, лечившему ее каким то новым и необыкновенным способом.