суббота, 20 сентября 2014 г.

Scilab. Создание графического интерфейса

Одной из особенностей Scilab является наличие встроенных инструментов для создания графического интерфейса к расчётным файлам. Если вам приходилось работать с Tkinter в Python, освоение должно быть безболезненным. Кстати, Tk и Tcl здесь тоже могут быть использованы. Но мы рассмотрим "собственные" средства Scilab на примере простой программы, которая позволяет ввести начальную фазу, а затем строит график смещённой синусоиды. Код можно написать в любом компьютерном блокноте, но удобнее использовать родное средство SciNotes, которое находится в меню Applications.

 
Создание окна производится функцией figure(), которая возвращает его идентификатор. Свойства окна могут быть указаны в виде аргументов данной функции, но здесь они введены через функцию set(), которая должна получить идентификатор элемента, наименование свойства и его значение. Запись "'position', [X,Y,dx,dy]" означает, что верхний левый угол элемента длиной dx и высотой dy будет размещён в точке с координатами X, Y относительно родительского элемента. Строка 3 определяет название окна.

Для создания дочерних элементов используется функция uicontrol(). Вид элемента определяет параметр 'style', в данной программе используются 'text' - текстовая метка, 'edit' - строка редактирования, 'pushbutton' - кнопка. Через 'string' указывается отображаемая строка.

При нажатии кнопки выполняется функция, указанная в параметре 'CallBack'. В данном случае будет запущена функция sin_plot(), которая прочитает значение в строке редактирования (get()), преобразует в число (eval()), затем выведет сообщение в главном окне и создаст новое, в котором и построит график с учётом начальной фазы.

Созданный файл нужно сохранить с расширением sce, после чего можно запускать (в окне Scilab "File - Execute", в окне SciNotes "стрелка вправо"). Если есть ошибки в скрипте, они будут выведены в окне Scilab. Если ошибок нет, а интерпретатор сработает нормально (что бывает не всегда), должно появиться созданное окно.
После нажатия "Построить" мы получим требуемый график.


Комментариев нет:

Отправить комментарий