Py3 - Probe Basic Config Conversion Doc Lcnc 2.9+

More
2 years 2 months ago - 2 years 2 months ago #307270 by anfänger
Hi I installed the development system with 2.9.3 and the deb files like in the tutorial described.

kcjengr.github.io/probe_basic/development_quick_start_apt.html

Then I tried to open my config I used with probe_basic under 2.8.2. Fixed the python3 issues with my own Hal components.

now it ts trying to start an I am expecting to fail due to missing Hal pins from qtpyvcp,  cause I heavyly modified the ui file to match my machine.
but I get this error:

Code:
[qtpyvcp.app.launcher][CRITICAL]  Unhandled exception in probe_basic line 8 (launcher.py:37) Traceback (most recent call last):   File "/usr/bin/probe_basic", line 8, in <module>     sys.exit(main())              ^^^^^^   File "/usr/lib/python3/dist-packages/probe_basic/__init__.py", line 20, in main     qtpyvcp.run_vcp(opts, VCP_CONFIG_FILE)   File "/usr/lib/python3/dist-packages/qtpyvcp/__init__.py", line 26, in run_vcp     run(*args, **kwargs)   File "/usr/lib/python3/dist-packages/qtpyvcp/app/__init__.py", line 129, in run     launch_application(opts, config)   File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 78, in launch_application     loadWindows(config['windows'])   File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 228, in loadWindows     window = _initialize_object_from_dict(window_dict)              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 208, in _initialize_object_from_dict     return obj(*args, **kwargs)            ^^^^^^^^^^^^^^^^^^^^   File "/home/wully/linuxcnc/configs/wully/custom_probebasic.py", line 15, in __init__     super(CustomProbeBasic, self).__init__(*args, **kwargs)   File "/usr/lib/python3/dist-packages/probe_basic/probe_basic.py", line 35, in __init__     super(ProbeBasic, self).__init__(*args, **kwargs)   File "/usr/lib/python3/dist-packages/qtpyvcp/widgets/form_widgets/main_window.py", line 47, in __init__     self.loadUi(ui_file)   File "/usr/lib/python3/dist-packages/qtpyvcp/widgets/form_widgets/main_window.py", line 106, in loadUi     uic.loadUi(ui_file, self)   File "/usr/lib/python3/dist-packages/PyQt5/uic/__init__.py", line 241, in loadUi     return DynamicUILoader(package).loadUi(uifile, baseinstance, resource_suffix)            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/lib/python3/dist-packages/PyQt5/uic/Loader/loader.py", line 66, in loadUi     return self.parse(filename, resource_suffix)            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 1037, in parse     actor(elem)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 828, in createUserInterface     self.traverseWidgetTree(elem)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree     handler(self, child)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget     self.traverseWidgetTree(elem)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree     handler(self, child)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout     self.traverseWidgetTree(elem)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree     handler(self, child)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem     self.traverseWidgetTree(elem)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree     handler(self, child)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout     self.traverseWidgetTree(elem)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree     handler(self, child)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem     self.traverseWidgetTree(elem)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree     handler(self, child)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout     self.traverseWidgetTree(elem)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree     handler(self, child)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem     self.traverseWidgetTree(elem)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree     handler(self, child)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget     self.traverseWidgetTree(elem)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree     handler(self, child)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget     self.traverseWidgetTree(elem)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree     handler(self, child)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout     self.traverseWidgetTree(elem)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree     handler(self, child)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem     self.traverseWidgetTree(elem)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree     handler(self, child)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget     self.traverseWidgetTree(elem)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree     handler(self, child)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout     self.traverseWidgetTree(elem)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree     handler(self, child)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem     self.traverseWidgetTree(elem)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree     handler(self, child)   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 264, in createWidget     self.stack.push(self.setupObject(widget_class, parent, elem))                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 228, in setupObject     obj = self.factory.createQObject(clsname, name, args, is_attribute)           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/lib/python3/dist-packages/PyQt5/uic/objcreator.py", line 118, in createQObject     return self._cpolicy.instantiate(factory, *args, **kwargs)            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/lib/python3/dist-packages/PyQt5/uic/Loader/qobjectcreator.py", line 137, in instantiate     return clsObject(*ctor_args)            ^^^^^^^^^^^^^^^^^^^^^   File "/usr/lib/python3/dist-packages/qtpyvcp/widgets/display_widgets/vtk_backplot/vtk_backplot.py", line 179, in __init__     self.default_view = view_options[view_default_setting]                         ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^


I guess try coming from my custom_config.yml
ad related files. 
Code:
# example of a machine specific settings windows:   mainwindow:     provider: custom_probebasic:CustomProbeBasic #windows: #  mainwindow: #    kwargs: #      confirm_exit: false settings:   # VTK backplot view settings   backplot.show-grid:     default_value: false   backplot.show-program-bounds:     default_value: false   backplot.show-program-labels:     default_value: false   backplot.show-program-ticks:     default_value: false   backplot.show-machine-bounds:     default_value: false   backplot.show-machine-labels:     default_value: false   backplot.show-machine-ticks:     default_value: false   backplot.perspective-view:     default_value: false   backplot.view:     default_value: P     options: ["X: Front View", "XZ: Lathe View", "XZ2: Lathe View", "Y: Front View", "Z: Top View", "Z2: Bottom View", "P: Isometric"]   backplot.multitool-colors:     default_value: True

and when I emote the custom widget (its for setup sheets)

I come to the point where it fails due to missing pins.
copying my ui file over the one in the deb package let it fail again.

Code:
Traceback (most recent call last): File "/usr/bin/probe_basic", line 8, in <module> sys.exit(main()) ^^^^^^ File "/usr/lib/python3/dist-packages/probe_basic/__init__.py", line 20, in main qtpyvcp.run_vcp(opts, VCP_CONFIG_FILE) File "/usr/lib/python3/dist-packages/qtpyvcp/__init__.py", line 26, in run_vcp run(*args, **kwargs) File "/usr/lib/python3/dist-packages/qtpyvcp/app/__init__.py", line 129, in run launch_application(opts, config) File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 78, in launch_application loadWindows(config['windows']) File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 228, in loadWindows window = _initialize_object_from_dict(window_dict) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 208, in _initialize_object_from_dict return obj(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/probe_basic/probe_basic.py", line 35, in __init__ super(ProbeBasic, self).__init__(*args, **kwargs) File "/usr/lib/python3/dist-packages/qtpyvcp/widgets/form_widgets/main_window.py", line 47, in __init__ self.loadUi(ui_file) File "/usr/lib/python3/dist-packages/qtpyvcp/widgets/form_widgets/main_window.py", line 106, in loadUi uic.loadUi(ui_file, self) File "/usr/lib/python3/dist-packages/PyQt5/uic/__init__.py", line 241, in loadUi return DynamicUILoader(package).loadUi(uifile, baseinstance, resource_suffix) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/PyQt5/uic/Loader/loader.py", line 66, in loadUi return self.parse(filename, resource_suffix) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 1037, in parse actor(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 828, in createUserInterface self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 264, in createWidget self.stack.push(self.setupObject(widget_class, parent, elem)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 228, in setupObject obj = self.factory.createQObject(clsname, name, args, is_attribute) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/PyQt5/uic/objcreator.py", line 100, in createQObject factory = self.findQObjectType(classname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/PyQt5/uic/objcreator.py", line 125, in findQObjectType w = module.search(classname) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/PyQt5/uic/Loader/qobjectcreator.py", line 113, in search module = __import__(mname, {}, {}, (cls,)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ModuleNotFoundError: No module named 'qtpyvcp_conversational_gcode'


I guesss there were some changes which make it fail.
I'll made all ma chalets just to one tab I added.
So I did edit this section in the ui file. and still run into errors.
Code:
Traceback (most recent call last): File "/usr/bin/probe_basic", line 8, in <module> sys.exit(main()) ^^^^^^ File "/usr/lib/python3/dist-packages/probe_basic/__init__.py", line 20, in main qtpyvcp.run_vcp(opts, VCP_CONFIG_FILE) File "/usr/lib/python3/dist-packages/qtpyvcp/__init__.py", line 26, in run_vcp run(*args, **kwargs) File "/usr/lib/python3/dist-packages/qtpyvcp/app/__init__.py", line 129, in run launch_application(opts, config) File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 78, in launch_application loadWindows(config['windows']) File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 228, in loadWindows window = _initialize_object_from_dict(window_dict) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 208, in _initialize_object_from_dict return obj(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/probe_basic/probe_basic.py", line 35, in __init__ super(ProbeBasic, self).__init__(*args, **kwargs) File "/usr/lib/python3/dist-packages/qtpyvcp/widgets/form_widgets/main_window.py", line 47, in __init__ self.loadUi(ui_file) File "/usr/lib/python3/dist-packages/qtpyvcp/widgets/form_widgets/main_window.py", line 106, in loadUi uic.loadUi(ui_file, self) File "/usr/lib/python3/dist-packages/PyQt5/uic/__init__.py", line 241, in loadUi return DynamicUILoader(package).loadUi(uifile, baseinstance, resource_suffix) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/PyQt5/uic/Loader/loader.py", line 66, in loadUi return self.parse(filename, resource_suffix) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 1037, in parse actor(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 828, in createUserInterface self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem self.traverseWidgetTree(elem) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree handler(self, child) File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 264, in createWidget self.stack.push(self.setupObject(widget_class, parent, elem)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 228, in setupObject obj = self.factory.createQObject(clsname, name, args, is_attribute) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/PyQt5/uic/objcreator.py", line 116, in createQObject raise NoSuchWidgetError(classname) PyQt5.uic.exceptions.NoSuchWidgetError: Unknown Qt widget: HalLCDNumber

I am afraid I need to redo all ma work. maybe its faster since I've done it before

will there be a better option in the future keep custom tabs?
for more complex machines this might help a lot.

Thanks Patrick[/code]
Last edit: 2 years 2 months ago by anfänger.

Please Log in or Create an account to join the conversation.

More
2 years 2 months ago #307587 by Lcvette
@Patrick,

for the vtk error, check the latest sim configs for changes there are many including the var file, Ini File, custom_config.yml, subroutines just about all of them, and the ui has received some pretty serious updates. that is one of the issues of trying to do customizations without using the user tabs. if you decide to make edits i strongly recommend using only the user tabs to do so which are not changed on updated and are loaded from your config folder.

Chris

Please Log in or Create an account to join the conversation.

More
2 years 2 months ago #307621 by anfänger
I started this project three years ago.
and relied in my experience of my first machine with prob basic. So i used my knowledge from five to six years ago. so there was not much documentation how to setup user tabs especially to find with my skills and my personal dislike for python.
I'll have a look at the latest Samples. And see where it brings me maybe there are now examples with user tabs.
But also a look at qtdragon was quite promising but its lacking a lathe interface for other projects. And I would like to have a similar look and feel.

Please Log in or Create an account to join the conversation.

More
2 years 2 months ago #307638 by Lcvette
user tabs are in the sim config folder, you simply turn them on or off in the ini file, there is one for the main tab group and the side bar, so it pretty much covers you for being able to add any functionality you may need. 

now it doesn't work if you are changing the main ui and need to add things in, but if you have a good idea for a change or addition you can alway voice that here or on the qtpyvcp chat.  we incorporate many ideas to make Probe Basic better often.  that is where many of the latest update changes came from, made to fix some shortcomings and add some feature functionality!.

Below is an image of the user tabs. those should also be available in the stable version.  you would simply edit those two files in qtdesigner and they are loaded on start up. this was they travel with your config and are never overwritten on updates.  you can nest tabs to make them infinitely deep to accomodate the most intesnse project additions.

Chris

 
The following user(s) said Thank You: anfänger

Please Log in or Create an account to join the conversation.

More
2 years 2 months ago #307651 by anfänger
many thanks this way I can keep a lot of my own ui stuff just need to move it.
QtDragon seens to be a bit more flexible there.
I really like the look of probe basic and it's now my 3rd machine using it.

My adaptations are usually quite unique to my machines caus they are retrofits of old industrial machines.
I had a basket tool changer and a turn table and automatic doors. (but this machine is gone)
Then there is the partial manual three stage gear box on my lathe in combination with a vfd
An om my current machines the lube and column system.

But what i uses al the time were leds for all the IO's. this helps trouble shooting.

What like is the setup sheet. I think you wrote the bits for me and it didn't get into production.

and I started on the lathe macros with saving the parameters. but I ran out of patience and time.

For me this all is just a hobby and in the past year and a half I had even less time cause I am living in two places until I got my building permit and have the new workshop prpared to move my shit.

Sorry if I was impatient I kind was hoping that it would be just one or two small things i need to change.

And then I looked into alternatives and the documentation for qtdragon was a bit easier to unterstand ho to customize for me. And it looks a bit more flexible.
But lacks a lathe interface and I still hope I can copy pate some of my shit in the custom tab and get it running.
I am kind of lazy :dry: when it comes to doing work twice.

And I need to thank you guys for being open source linuxcnc and probe_basic is really impressive and a really great piece of software.
Many thanks for all the work and kind support I am getting here

Please Log in or Create an account to join the conversation.

More
2 years 2 months ago #307686 by Lcvette
The user tabs are predefined ui's, you should be able to copy and paste to them. The latest version uses the var files for all parameters so they are callable from toolchange remap, same for all probe paramaters so they work if called from gcode etc.

Qtdragon is a good option too, more flavors is a good thing. As for leds for IO, I had that in there at one point but it caused some issues on faster machines and some computers, it slowed the non realtime layer down for some reason so I removed. But all that is available with halshow.

Please Log in or Create an account to join the conversation.

Moderators: KCJ, Lcvette
Time to create page: 0.380 seconds
Powered by Kunena Forum