GladeVCP и PyVCP для начинающих
-
- Кандидат
- Сообщения: 77
- Зарегистрирован: 07 окт 2014, 11:54
- Репутация: 5
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Мне это нужно, чтобы было удобно с помощью сенсорного монитора управлять, без мыши.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Обычно это делается настройками темы. Но повлияет на все виджеты...
Как вариант сделать две кнопочки для + и -.
Кстати, скроллинг на экране двойным нажатием не работает?
Как вариант сделать две кнопочки для + и -.
Кстати, скроллинг на экране двойным нажатием не работает?
- verser
- Мастер
- Сообщения: 1863
- Зарегистрирован: 21 июл 2013, 22:28
- Репутация: 1268
- Настоящее имя: Сергей
- Откуда: Тбилиси
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Поставить готовый интерфейс для сенсорного монитора не рассматривали?alexandr1988 писал(а):Мне это нужно, чтобы было удобно с помощью сенсорного монитора управлять, без мыши.
-
- Кандидат
- Сообщения: 77
- Зарегистрирован: 07 окт 2014, 11:54
- Репутация: 5
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Скроллинг не работает. Можете коротко описать, какие сделать эти кнопки? И еще вопрос, почему не работают кнопки Открыть и Обновить (у меня называется применить)?Nick писал(а):Обычно это делается настройками темы. Но повлияет на все виджеты...
Как вариант сделать две кнопочки для + и -.
Кстати, скроллинг на экране двойным нажатием не работает?
файлы ui и hal во вложении.
Я смотрел на gmocappy, для моих целей axis лучше. У меня не металлорежущее оборудование, а убрать кнопки, связанные с охлаждением и прочими вещами, как я понимаю, нельзя.verser писал(а):Поставить готовый интерфейс для сенсорного монитора не рассматривали?
- Вложения
-
- 1.tar.gz
- (2.69 КБ) 936 скачиваний
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
А что он будет регулировать?
-
- Кандидат
- Сообщения: 77
- Зарегистрирован: 07 окт 2014, 11:54
- Репутация: 5
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
на download/file.php?id=34899&mode=view&mt=1 этой машине с помощью spinbutton'ov регулируется размер стежка и коррекция размеров рисунка.Nick писал(а):А что он будет регулировать?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Много таких параметров будет?
Ввод только с кнопок на экране?
О, что нашел. Если поменять размер шрифта, то меняется размер кнопок -
надо найти указатель на spinbutton, и потом:
Ввод только с кнопок на экране?
О, что нашел. Если поменять размер шрифта, то меняется размер кнопок -
надо найти указатель на spinbutton, и потом:
Код: Выделить всё
f = pango.FontDescription("sans bold 52")
spinbutton1.modify_font(f)
- Вложения
-
- Снимок-ipython.png (7.98 КБ) 1581 просмотр
-
- Кандидат
- Сообщения: 77
- Зарегистрирован: 07 окт 2014, 11:54
- Репутация: 5
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
таких параметров всего три. ввод только с кнопок, в крайнем случае мышью.
Думаю, это то, что нужно, попробую и отпишусь.
А насчет кнопки Открыть есть какие-то мысли?
Думаю, это то, что нужно, попробую и отпишусь.
А насчет кнопки Открыть есть какие-то мысли?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
У меня сейчас нет gladevcp под рукой, может там надо какие-то действия донастроить?
-
- Кандидат
- Сообщения: 77
- Зарегистрирован: 07 окт 2014, 11:54
- Репутация: 5
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Действие выбираю emc_action_open. Скриншот настроек в аттаче. Непонятно значение поля fixed file name, может проблема в этом?
Аналогично не работает emc_action_reload. а вот остальные действия, связанные с ЕМС, работают.
upd
G-код содержит переменные, думаю, с этим и связан этот косяк.
надо найти указатель на spinbutton, и потом:
это где нужно прописывть? в .ui файле ничего подобного нет.
Аналогично не работает emc_action_reload. а вот остальные действия, связанные с ЕМС, работают.
upd
G-код содержит переменные, думаю, с этим и связан этот косяк.
надо найти указатель на spinbutton, и потом:
Код: Выделить всё
f = pango.FontDescription("sans bold 52")
spinbutton1.modify_font(f)
-
- Кандидат
- Сообщения: 77
- Зарегистрирован: 07 окт 2014, 11:54
- Репутация: 5
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Суть проблемы понял, нужно это сделать с помощью axis-remote --reload и open. Однако сам механизм, как привязать это к кнопке, не понял, в питоне я не силен.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Как у тебя с английским?alexandr1988 писал(а):это где нужно прописывть? в .ui файле ничего подобного нет.
Вот тут общий принцип, как все стартует:
http://www.linuxcnc.org/docs/html/gui/g ... up_process
Что нам надо, надо написать скрипт, который подправит интерфейс и если надо будет выполнять нужные нам действия.
Вот тут написано про то, как можно программировать нужные нам вещи:
http://www.linuxcnc.org/docs/html/gui/g ... rogramming
Итак, создаем файл, name.py и в нем пишем (см ниже):
Код скрипта я взял из примера gladevcp, в нем добавил только это:
Код: Выделить всё
spin = self.builder.get_object('spin')
f = pango.FontDescription("sans bold 52")
spin.modify_font(f)
Код: Выделить всё
import hal
import glib
import time
import pango
class HandlerClass:
'''
class with gladevcp callback handlers
'''
def __init__(self, halcomp,builder,useropts):
'''
Handler classes are instantiated in the following state:
- the widget tree is created, but not yet realized (no toplevel window.show() executed yet)
- the halcomp HAL component is set up and the widhget tree's HAL pins have already been added to it
- it is safe to add more hal pins because halcomp.ready() has not yet been called at this point.
after all handlers are instantiated in command line and get_handlers() order, callbacks will be
connected with connect_signals()/signal_autoconnect()
The builder may be either of libglade or GtkBuilder type depending on the glade file format.
'''
spin = self.builder.get_object('spin')
f = pango.FontDescription("sans bold 52")
spin.modify_font(f)
def get_handlers(halcomp,builder,useropts):
'''
this function is called by gladevcp at import time (when this module is passed with '-u <modname>.py')
return a list of object instances whose methods should be connected as callback handlers
any method whose name does not begin with an underscore ('_') is a callback candidate
the 'get_handlers' name is reserved - gladevcp expects it, so do not change
'''
return [HandlerClass(halcomp,builder,useropts)]
-u name.py
как тут:
Код: Выделить всё
EMBED_TAB_NAME=GladeVCP demo
EMBED_TAB_COMMAND=halcmd loadusr -Wn gladevcp gladevcp -c gladevcp -x {XID} -u ./gladevcp/hitcounter.py ./gladevcp/manual-example.ui
-
- Кандидат
- Сообщения: 77
- Зарегистрирован: 07 окт 2014, 11:54
- Репутация: 5
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
У меня этот вариант не работает. LinuxCNC запускается с этим скриптом без ошибок, однако шрифт не изменяется. Имена spinbutton'ов пробовал разные (у меня их три).
Файл прилагаю. Прописываю его в ini как -u 2.py 1.ui
Файл прилагаю. Прописываю его в ini как -u 2.py 1.ui
Код: Выделить всё
import hal
import glib
import time
import pango
class HandlerClass:
def __init__(self, halcomp,builder,useropts):
spin = self.builder.get_object('spin1')
f=pango.FontDescription("sans bold 52")
spin.modify_font(f)
def get_handlers(halcomp,builder,useropts):
return [HandlerClass(halcomp,builder,useropts)]
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Вот в этой строке есть лишние пробелы вначале.alexandr1988 писал(а): def __init__(self, halcomp,builder,useropts):
В питоне важено количество пробелов или размер отступа в начале строки!
-
- Кандидат
- Сообщения: 77
- Зарегистрирован: 07 окт 2014, 11:54
- Репутация: 5
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Сделал все отступы, как советуют в уроках по Python (каждый уровень отступа - 4 пробела). Однако, это ничего не изменило. Lcnc запускается, изменений нет.
Код: Выделить всё
import hal
import glib
import time
import pango
class HandlerClass:
def __init__(self, halcomp,builder,useropts):
spin = self.builder.get_object("spin1")
f=pango.FontDescription("sans bold 52")
spin.modify_font(f)
def get_handlers(halcomp,builder,useropts):
return [HandlerClass(halcomp,builder,useropts)]
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
Структура опять потерялась, должно быть:
Код: Выделить всё
class
def function
def function
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
насчет def get_handlersNick писал(а):Структура опять потерялась, должно быть:Код: Выделить всё
class def function def function
http://www.linuxcnc.org/docs/devel/html ... mmatically
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
тогда правильно
....
Может имя кнопки не то?

Может имя кнопки не то?
-
- Кандидат
- Сообщения: 77
- Зарегистрирован: 07 окт 2014, 11:54
- Репутация: 5
- Контактная информация:
Re: GladeVCP и PyVCP для начинающих
У меня их там три: spin, spin1 и spin2. Естественно, пробовал разные и ни одна не сработала.