MyGUI
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: MyGUI
ты прав (как обычно и бываетNick писал(а):Если написать halcmd tratata -W, то да - не запуститься, а если: halcmd tratata -Wn mygui, то по идее должен запуститься.
проверил - все точно так и работает
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: MyGUI
Какую именно из них? Уже думал тебе ошибки выделить, но потом подумал, что это просто набросок 
Но вообще, может быть лучше сделать так (если при переключениях режимов делается много чего одинакового):
А в сигналы прописать вот так:
Кстати, там в функцию передается два параметра:
self, т.к. вызываем self.set_mode и ссылка на объект сгенерировавший ивент, т.е. наш пин.
Мда корявенько написал, если не поймете пишите
Но вообще, может быть лучше сделать так (если при переключениях режимов делается много чего одинакового):
Код: Выделить всё
def self.set_mode(self, pin, mode):
self.mode = mode
....
Код: Выделить всё
self.mode_auto.connect('value-changed', self.set_mode, MODE_AUTO)
self, т.к. вызываем self.set_mode и ссылка на объект сгенерировавший ивент, т.е. наш пин.
Мда корявенько написал, если не поймете пишите
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: MyGUI
Когда запускаешь питоновскую программу то если есть ошибка, она пишет например
Причем символ ^ указывает на место, где питон считает, что есть ошибка. За это я его очень люблю 
Лучше всего вешай сюда такие сообщения, и если сам не разберешься пока пишешь, то мы точно поможем
.
Код: Выделить всё
File "bezier-console.py", line 45
class BezierConsole(inkex.Effect)
^
SyntaxError: invalid syntax
Лучше всего вешай сюда такие сообщения, и если сам не разберешься пока пишешь, то мы точно поможем
- Lexxa
- Мастер
- Сообщения: 2703
- Зарегистрирован: 16 дек 2011, 16:48
- Репутация: 319
- Настоящее имя: Алексей
- Откуда: ryazan
- Контактная информация:
Re: MyGUI
Ник, ай нид хэлп.
Ругается гад на ошибку сегментирования:
Причем ругается c
h = hal.componet("sgui")
gui появляется и сразу падает.
текст скрипта:
Ругается гад на ошибку сегментирования:
Код: Выделить всё
lexxa@lexxa-laptop:~/supercnc$ ./sgui.py
** (sgui.py:15590): WARNING **: expected enumeration type GtkEntryIconPosition, but got GtkPositionType instead
./sgui.py:34: RuntimeWarning: missing handler 'on_eventbox_gremlin_leave_notify_event'
self.builder.connect_signals(self)
Emit interp-run
Ошибка сегментирования
h = hal.componet("sgui")
gui появляется и сразу падает.
текст скрипта:
Код: Выделить всё
#!/usr/bin/python
import time
import gladevcp.makepins
from gladevcp.gladebuilder import GladeBuilder
import hal
import linuxcnc
import hal_glib
import sys
import gladevcp
import os
import gladevcp.makepins
try:
import pygtk
pygtk.require('2.0')
except:
pass
try:
import gtk
import gtk.glade
except:
sys.exit(1)
class sgui:
def on_window1_destroy(self, object, data=None):
gtk.main_quit()
def __init__(self):
self.gladefile = "sgui.glade"
self.builder = gtk.Builder()
self.builder.add_from_file(self.gladefile)
self.builder.connect_signals(self)
self.window = self.builder.get_object("window1")
self.window.show()
self.gremlin = self.builder.get_object('eventbox_gremlin')
# self.gcode_text = self.builder.get_object('gcode_view')
self.mdi_hist = self.builder.get_object('hal_mdihistory')
self.gcode_scroll = self.builder.get_object('scrolledwindow1')
self.gremlin.show()
# self.gcode_text.hide()
self.mdi_hist.hide()
self.gcode_scroll.hide()
h = hal.component("sgui")
# #self.example_trigger = hal_glib.GPin(halcomp.newpin('example-trigger', hal.HAL_BIT, hal.HAL_IN))
# mode_ref = hal_glib.GPin(halcomp.newpin("mode_ref", hal.HAL_BIT, hal.HAL_IN))
# mode_incjog = hal_glib.GPin(halcomp.newpin("mode_incjog", hal.HAL_BIT, hal.HAL_IN))
# mode_manual = hal_glib.GPin(halcomp.newpin("mode_manual", hal.HAL_BIT, hal.HAL_IN))
# mode_mdi = hal_glib.GPin(halcomp.newpin("mode_mdi", hal.HAL_BIT, hal.HAL_IN))
# mode_auto = hal_glib.GPin(halcomp.newpin("mode_auto", hal.HAL_BIT, hal.HAL_IN))
# mode_handle = hal_glib.GPin(halcomp.newpin("mode_handle", hal.HAL_BIT, hal.HAL_IN))
# #self.example_trigger.connect('value-changed', self._on_example_trigger_change)
# self.mode_ref.connect('value-changed', self.set_mode_ref)
# self.mode_incjog.connect('value-changed', self.set_mode_incjog)
# self.mode_manual.connect('value-changed', self.set_mode_manual)
# self.mode_mdi.connect('value-changed', self.set_mode_mdi)
# self.mode_auto.connect('value-changed', self.set_mode_auto)
# self.mode_handle.connect('value-changed', self.set_mode_handle)
# def self.set_mode_ref(self, pin) :
# if halcomp('mode_ref') ==1 :
#
# def self.set_mode_incjog(self) :
# if halcomp('mode_incjog') ==1:
if __name__ == "__main__":
main = sgui()
gtk.main()
s = linuxcnc.stat()
c = linuxcnc.command()- Lexxa
- Мастер
- Сообщения: 2703
- Зарегистрирован: 16 дек 2011, 16:48
- Репутация: 319
- Настоящее имя: Алексей
- Откуда: ryazan
- Контактная информация:
Re: MyGUI
а, разобрался с этим.
надо не h = hal.componet("sgui") а self.halcomp = hal.componet("sgui")
и self.--- напропускал
А что значит
надо не h = hal.componet("sgui") а self.halcomp = hal.componet("sgui")
и self.--- напропускал
А что значит
Код: Выделить всё
self.builder.connect_signals(self)
Emit interp-run
Traceback (most recent call last):
File "./sgui.py", line 63, in set_mode_ref
if self.halcomp('mode_ref') ==1 :- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: MyGUI
А целиком, что пишет?Lexxa писал(а):А что значит
Вообще надо писать не
self.halcomp('mode_ref') ==1 :
а self.halcomp['mode_ref'] ==1 :
мы берем элемент массива (словаря (dict)) self.halcomp, а не вызываем функцию self.halcomp.
- Lexxa
- Мастер
- Сообщения: 2703
- Зарегистрирован: 16 дек 2011, 16:48
- Репутация: 319
- Настоящее имя: Алексей
- Откуда: ryazan
- Контактная информация:
Re: MyGUI
блин, опять косяк:
Код: Выделить всё
lexxa@lexxa-laptop:~/supercnc$ ./sgui.py
File "./sgui.py", line 95
res = os.spawnvp(os.P_WAIT, "halcmd", ["halcmd", "-f", "/home/lexxa/supercnc/mode.hal"])
^
IndentationError: unexpected indent
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: MyGUI
А зачем перед этой строчкой и перед следующёй сделал отступ?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Lexxa
- Мастер
- Сообщения: 2703
- Зарегистрирован: 16 дек 2011, 16:48
- Репутация: 319
- Настоящее имя: Алексей
- Откуда: ryazan
- Контактная информация:
Re: MyGUI
MDI история не работает
ругается как только галочку в mdi_hist нажимаешь...
ругается как только галочку в mdi_hist нажимаешь...
Код: Выделить всё
mode mdi
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.6/gladevcp/hal_mdihistory.py", line 92, in submit
ensure_mode(self.stat, self.linuxcnc, linuxcnc.MODE_MDI)
AttributeError: 'EMC_MDIHistory' object has no attribute 'stat'
Traceback (most recent call last):
File "./sgui.py", line 120, in <module>
gtk.main()- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: MyGUI
Может в самом mdi_history что-то не так? У кого-нибудь он вообще работает?Lexxa писал(а):"/usr/lib/pymodules/python2.6/gladevcp/hal_mdihistory.py"
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: MyGUI
не работает jog.increment:
что то еще надо прописать???
Код: Выделить всё
setp axis.2.jog-enable 1
setp halui.jog.2.increment 1
net inc parport.0.pin-15-in-not halui.jog.2.increment-plus