PyVCP дополнительный интерфейс для EMC2 LinuxCNC
Добавлено: 23 окт 2010, 13:46
Не секрет, что стандартных графических интерфейсов EMC2 не всегда достаточно для удобного решения многих задач. Но модульная компоновка EMC2 добавлять пользовательские элементы управления станком, в том числе из отдельного процесса. Одним из способов задания элементов управления является pyVCP.
К сожалению, документация по pyVCP не очень обширна, а на русском языке практически отсутствует. Поэтому посвятим эту тему работе с pyVCP.
Итак, что же такое pyVCP
PyVCP (Python Virtual Control Panel) программа написанная на python которая использует модули gtk и hal. Значительно упрощает создание графических интерфейсов для hal. Использование pyVCP отделяет создание интерфейса от непосредственного программирования.Какими возможностями обладает pyVCP
С помощью pyVCP можно контролировать любой параметр HAL в любой момент времени.PyVCP можкт запускаться как отдельно (standalone) так и интегрировано в другие графические интерфейсы EMC2 например Axis.
...Это не законченный раздел вы можете помочь в его оформлении...
Базовые элементы pyVCP
Label
Простое текстовое поле.LED
LED это своего рода контрольный диод, служит для индикации состояния конкретного halpin. LED может быть круглым и квадратным.Texe button
Текстовая кнопка контролирует состояние конкретного halpin. Значение halpin будет равно False до тех пор пака кнопка не будет нажата. После нажатия значение станет True. Текстовая кнопка может только включить halpin.Checkbutton
Работает так же как и текстовая кнопка, но позволяет включать и выключать halpin. Если checkbutton нажат, то halpin равен True, если отжат, то False.Radiobutton
Включает только один из набора halpin, остальные делает выключенными.Number
Отображает число с плавающей запятой (float).S32
Отображает целое число от −2 147 483 648 до 2 147 483 647. (S32 - signed 32bit int)Bar
Отображает значение вещественного числа как графически, так и текстом.Meter
Отображает значение вещественного в виде круговой шкалы.Spinbox
Задает значение числа с двумя кнопками увеличения и уменьшения. Можно изменять число нажимая на кнопки или навести на Spinbox указатель мышки крутить колесико.Scale
Задает цело или вещественное число при помощи слайдера. Можно менять перетаскиванием или при помощи колеса мышки.Dial
Позволяет изменять действительное число с заданной точностью. Отображает число в текстовом виде и в виде "поворотной ручки".Jogwheel
Позволяет изменять действительное число с заданной точностью. Отображает число в виде "поворотной ручки".Image Bit
Изменяет картинку в зависимости от состояния конкретного halpin.Image U32
Изменяет картинку в зависимости от значения целого числа.Контейнеры
Контейнеры позволяют компоновать различные базовые элементы pyVCP в окне. Если формализовать, то контейнер может содержать только один элемент - либо управляющий элемент либо контейнер. Главное окно это тоже контейнер. Таким образом, чтобы создать три кнопки нам нужно создать горизонтальный контейнер с тремя местами и в каждое место вставить по кнопке. Такой метод компоновки взят напрямую из библиотеки gtk. На первый взгляд кажется не удобным, но поработав чуть-чуть с gtk я признаю ее очень удобной.Hbox
Горизонтальный контейнер компонует элементы горизонтально.Vbox
Вертикальный контейнер компонует элементы Вертикально.Labelframe
Создает рамку с надписью.Table
Компонует элементы в таблицу. При этом можно объединять ячейки.Tabs
Cоздает панель со вкладками.Пример использования pyVCP
Это не законченный раздел вы можете помочь в его оформлении.