Содержание страницы
39.4. fl – библиотека FORMS для графических пользовательских интерфейсов¶fl – FORMS library for graphical user interfaces
Устарело с версии 2.6: Модуль fl удалён в Python 3.
Этот модуль предоставляет интерфейс к библиотеке FORMS Марка Овермарса. Исходный код библиотеки можно получить анонимным FTP с хоста ftp.cs.ruu.nl, каталог SGI/FORMS. Последний раз он тестировался с версией 2.0b.
Большинство функций являются буквальным переводом их C-эквивалентов, с опусканием начального fl_ в имени. Константы, используемые библиотекой, определены в модуле FL, описанном ниже.
Создание объектов в Python немного отличается от C: вместо «текущей формы», поддерживаемой библиотекой, к которой добавляются новые объекты FORMS, все функции, добавляющие объект FORMS в форму, являются методами объекта Python, представляющего форму. Следовательно, в Python нет аналогов для C-функций fl_addto_form() и fl_end_form(), а аналог fl_bgn_form() называется fl.make_form().
Остерегайтесь несколько запутанной терминологии: FORMS использует слово объект для кнопок, ползунков и т.п., которые можно размещать в форме. В Python «объект» означает любое значение. Интерфейс Python к FORMS вводит два новых типа объектов Python: объекты формы (представляющие всю форму) и объекты FORMS (представляющие одну кнопку, ползунок и т.д.). Надеюсь, это не слишком запутывает.
В интерфейсе Python к FORMS нет «свободных объектов», а также нет простого способа добавить классы объектов, написанные на Python. Впрочем, интерфейс FORMS к обработке событий GL доступен, так что можно смешивать FORMS с чистыми окнами GL.
Пожалуйста, обратите внимание: импорт fl подразумевает вызов функции GL foreground() и процедуры FORMS fl_init().
39.4.1. Функции, определённые в модуле fl¶Functions Defined in Module fl
Модуль fl определяет следующие функции. Дополнительную информацию о том, что они делают, см. в описании эквивалентной C-функции в документации FORMS:
-
fl.make_form(type, width, height)¶ Создаёт форму с заданными типом, шириной и высотой. Возвращает форму, методы которой описаны ниже.
-
fl.do_forms()¶ Стандартный главный цикл FORMS. Возвращает объект Python, представляющий объект FORMS, требующий взаимодействия, или специальное значение
FL.EVENT.
-
fl.check_forms()¶ Проверяет события FORMS. Возвращает то же, что
do_forms()выше, илиNone, если нет события, требующего немедленного взаимодействия.
-
fl.set_event_call_back(function)¶ Устанавливает функцию обратного вызова для событий.
-
fl.set_graphics_mode(rgbmode, doublebuffering)¶ Устанавливает графические режимы.
-
fl.get_rgbmode()¶ Возвращает текущий режим RGB. Это значение глобальной переменной C
fl_rgbmode.
-
fl.show_message(str1, str2, str3)¶ Показывает диалоговое окно с трёхстрочным сообщением и кнопкой OK.
-
fl.show_question(str1, str2, str3)¶ Показывает диалоговое окно с трёхстрочным сообщением и кнопками ДА и НЕТ. Возвращает
1, если пользователь нажал ДА, и0, если НЕТ.
-
fl.show_choice(str1, str2, str3, but1[, but2[, but3]])¶ Показывает диалоговое окно с трёхстрочным сообщением и до трёх кнопок. Возвращает номер кнопки, нажатой пользователем (
1,2или3).
-
fl.show_input(prompt, default)¶ Показывает диалоговое окно с однострочным сообщением-подсказкой и текстовым полем, в которое пользователь может ввести строку. Второй аргумент – строка ввода по умолчанию. Возвращает строковое значение, отредактированное пользователем.
-
fl.show_file_selector(message, directory, pattern, default)¶ Показывает диалоговое окно, в котором пользователь может выбрать файл. Возвращает абсолютное имя файла, выбранное пользователем, или
None, если пользователь нажал «Отмена».
-
fl.get_directory()¶ -
fl.get_pattern()¶ -
fl.get_filename()¶ Эти функции возвращают каталог, шаблон и имя файла (только хвост), выбранные пользователем в последнем вызове
show_file_selector().
-
fl.qdevice(dev)¶ -
fl.unqdevice(dev)¶ -
fl.isqueued(dev)¶ -
fl.qtest()¶ -
fl.qread()¶ -
fl.qreset()¶ -
fl.qenter(dev, val)¶ -
fl.get_mouse()¶ -
fl.tie(button, valuator1, valuator2)¶ Эти функции являются интерфейсами FORMS к соответствующим функциям GL. Используйте их, если требуется самостоятельно обрабатывать некоторые события GL при использовании
fl.do_events(). Когда обнаружено событие GL, которое FORMS не может обработать,fl.do_forms()возвращает специальное значениеFL.EVENT, и следует вызватьfl.qread()для чтения события из очереди. Не используйте eквивалентные функции GL!
39.4.2. Объекты форм¶Form Objects
Объекты форм (возвращаемые make_form() выше) имеют следующие методы.
Каждый метод соответствует C-функции, имя которой имеет префикс fl_;
и первым аргументом которой является указатель на форму; за описаниями обращайтесь к официальной документации
FORMS.
Все методы add_*() возвращают объект Python, представляющий объект
FORMS. Методы объектов FORMS описаны ниже. Большинство типов объектов
FORMS также имеют некоторые методы, специфичные для данного типа; эти методы перечислены
здесь.
-
form.show_form(placement, bordertype, name)¶ Показать форму.
-
form.hide_form()¶ Скрыть форму.
-
form.redraw_form()¶ Перерисовать форму.
-
form.set_form_position(x, y)¶ Установить положение формы.
-
form.freeze_form()¶ Заморозить форму.
-
form.unfreeze_form()¶ Разморозить форму.
-
form.activate_form()¶ Активировать форму.
-
form.deactivate_form()¶ Деактивировать форму.
-
form.bgn_group()¶ Начать новую группу объектов; возвращает объект группы.
-
form.end_group()¶ Завершить текущую группу объектов.
-
form.find_first()¶ Найти первый объект в форме.
-
form.find_last()¶ Найти последний объект в форме.
-
form.add_box(type, x, y, w, h, name)¶ Добавить объект-бокс в форму. Дополнительных методов нет.
-
form.add_text(type, x, y, w, h, name)¶ Добавить текстовый объект в форму. Дополнительных методов нет.
-
form.add_clock(type, x, y, w, h, name)¶ Добавить объект-часы в форму. – Метод:
get_clock().
Добавить объект-кнопку в форму. – Методы:
get_button(),set_button().
Добавить объект-световую кнопку в форму. – Методы:
get_button(),set_button().
Добавляет объект roundbutton в форму. – Методы:
get_button(),set_button().
-
form.add_slider(type, x, y, w, h, name)¶ Добавляет объект slider в форму. – Методы:
set_slider_value(),get_slider_value(),set_slider_bounds(),get_slider_bounds(),set_slider_return(),set_slider_size(),set_slider_precision(),set_slider_step().
-
form.add_valslider(type, x, y, w, h, name)¶ Добавляет объект valslider в форму. – Методы:
set_slider_value(),get_slider_value(),set_slider_bounds(),get_slider_bounds(),set_slider_return(),set_slider_size(),set_slider_precision(),set_slider_step().
-
form.add_dial(type, x, y, w, h, name)¶ Добавляет объект dial в форму. – Методы:
set_dial_value(),get_dial_value(),set_dial_bounds(),get_dial_bounds().
-
form.add_positioner(type, x, y, w, h, name)¶ Добавляет объект positioner в форму. – Методы:
set_positioner_xvalue(),set_positioner_yvalue(),set_positioner_xbounds(),set_positioner_ybounds(),get_positioner_xvalue(),get_positioner_yvalue(),get_positioner_xbounds(),get_positioner_ybounds().
-
form.add_counter(type, x, y, w, h, name)¶ Добавляет объект counter в форму. – Методы:
set_counter_value(),get_counter_value(),set_counter_bounds(),set_counter_step(),set_counter_precision(),set_counter_return().
-
form.add_input(type, x, y, w, h, name)¶ Добавляет объект input в форму. – Методы:
set_input(),get_input(),set_input_color(),set_input_return().
Добавляет объект menu в форму. – Методы:
set_menu(),get_menu(),addto_menu().
-
form.add_choice(type, x, y, w, h, name)¶ Добавляет объект choice в форму. – Методы:
set_choice(),get_choice(),clear_choice(),addto_choice(),replace_choice(),delete_choice(),get_choice_text(),set_choice_fontsize(),set_choice_fontstyle().
-
form.add_browser(type, x, y, w, h, name)¶ Добавляет объект browser в форму. – Методы:
set_browser_topline(),clear_browser(),add_browser_line(),addto_browser(),insert_browser_line(),delete_browser_line(),replace_browser_line(),get_browser_line(),load_browser(),get_browser_maxline(),select_browser_line(),deselect_browser_line(),deselect_browser(),isselected_browser_line(),get_browser(),set_browser_fontsize(),set_browser_fontstyle(),set_browser_specialkey().
-
form.add_timer(type, x, y, w, h, name)¶ Добавляет объект timer в форму. – Методы:
set_timer(),get_timer().
Объекты формы имеют следующие атрибуты данных; см. документацию FORMS:
Имя |
Тип C |
Значение |
|---|---|---|
|
int (только для чтения) |
идентификатор окна GL |
|
float |
ширина формы |
|
float |
высота формы |
|
float |
начальная x-координата формы |
|
float |
начальная y-координата формы |
|
int |
ненулевое значение, если форма деактивирована |
|
int |
ненулевое значение, если форма видима |
|
int |
ненулевое значение, если форма заморожена |
|
int |
ненулевое значение, если включена двойная буферизация |
39.4.3. Объекты FORMS¶FORMS Objects
Помимо методов, специфичных для конкретных типов объектов FORMS, все объекты FORMS также имеют следующие методы:
-
FORMS object.set_call_back(function, argument) Устанавливает колбэк-функцию объекта и её аргумент. Когда объекту требуется взаимодействие, колбэк-функция вызывается с двумя аргументами: объектом и аргументом колбэка. (Объекты FORMS без колбэк-функции возвращаются функциями
fl.do_forms()илиfl.check_forms(), когда им требуется взаимодействие.) Вызов этого метода без аргументов удаляет колбэк- функцию.
-
FORMS object.delete_object() Удаляет объект.
-
FORMS object.show_object() Показывает объект.
-
FORMS object.hide_object() Скрывает объект.
-
FORMS object.redraw_object() Перерисовывает объект.
-
FORMS object.freeze_object() Замораживает объект.
-
FORMS object.unfreeze_object() Размораживает объект.
Объекты FORMS имеют следующие атрибуты данных; см. документацию FORMS:
Имя |
Тип C |
Значение |
|---|---|---|
|
int (только для чтения) |
класс объекта |
int (только для чтения) |
тип объекта |
|
|
int |
тип рамки |
|
float |
начальная координата x |
|
float |
начальная координата y |
|
float |
ширина |
|
float |
рост |
|
int |
основной цвет |
|
int |
вторичный цвет |
|
int |
выравнивание |
|
int |
цвет метки |
|
float |
размер шрифта метки |
|
строка |
строка метки |
|
int |
стиль метки |
|
int (только для чтения) |
(см. документацию FORMS) |
|
int (только для чтения) |
(см. документацию FORMS) |
|
int (только для чтения) |
(см. документацию FORMS) |
|
int (только для чтения) |
(см. документацию FORMS) |
|
int (только для чтения) |
(см. документацию FORMS) |
int (только для чтения) |
(см. документацию FORMS) |
|
|
int (только для чтения) |
(см. документацию FORMS) |
|
int (только для чтения) |
(см. документацию FORMS) |
|
int (только для чтения) |
(см. документацию FORMS) |
39.5. FL – Константы, используемые с модулем fl¶FL – Constants used with the fl module
Устарело с версии 2.6: Модуль FL удалён в Python 3.
Этот модуль определяет символьные константы, необходимые для использования встроенного модуля
fl (см. выше); они эквивалентны определённым в заголовочном файле C
<forms.h>, за исключением того, что префикс имени FL_ опущен. Для получения полного списка определённых имён обратитесь к исходному коду модуля. Рекомендуемое использование:
import fl
from FL import *
39.6. flp – Функции для загрузки сохранённых макетов FORMS¶flp – Functions for loading stored FORMS designs
Устарело с версии 2.6: Модуль flp удалён в Python 3.
Этот модуль определяет функции, которые могут читать определения форм, созданные программой «form designer» (fdesign), входящей в состав библиотеки FORMS
(см. модуль fl выше).
Пока что обратитесь к файлу flp.doc в каталоге исходных кодов библиотеки Python
для получения описания.
XXX Здесь должно быть вставлено полное описание!