There is small bug. I have RGBA Ramon’s brushes too, and when I selected any brush from additionally imported “wet RGBA bundle” (that has RGBA tag also), there is message error pops-up and brush doesn’t chage, but standart RGBA’s brushes is okay. Configure reloading didn’t bring the result.
Summary
KeyError
Python 3.8.1: C:\Program Files\Krita (x64)\bin\krita.exe
Sun Jan 8 04:56:58 2023
A problem occurred in a Python script. Here is the sequence of
function calls leading up to the error, in the order they occurred.
C:\Users\Igor\AppData\Roaming\krita\pykrita\shortcut_composer\input_adapter\event_filter.py in eventFilter(self=<input_adapter.event_filter.ReleaseKeyEventFilter object>, _=<PyQt5.QtGui.QWindow object>, event=<PyQt5.QtGui.QKeyEvent object>)
34 if event.type() == QEvent.KeyRelease:
35 for callback in self._release_callbacks:
36 callback(event)
37
38 return False
callback = >
event = <PyQt5.QtGui.QKeyEvent object>
C:\Users\Igor\AppData\Roaming\krita\pykrita\shortcut_composer\input_adapter\shortcut_adapter.py in event_filter_callback(self=<input_adapter.shortcut_adapter.ShortcutAdapter object>, release_event=<PyQt5.QtGui.QKeyEvent object>)
56 “”“Handle key release if the event is related to the action.”“”
57 if self._is_event_key_release(release_event):
58 self._on_key_release()
59
60 @property
self = <input_adapter.shortcut_adapter.ShortcutAdapter object>
self._on_key_release = >
C:\Users\Igor\AppData\Roaming\krita\pykrita\shortcut_composer\input_adapter\shortcut_adapter.py in _on_key_release(self=<input_adapter.shortcut_adapter.ShortcutAdapter object>)
43 else:
44 self.action.on_long_key_release()
45 self.action.on_every_key_release()
46
47 def _is_event_key_release(self, release_event: QKeyEvent) → bool:
self = <input_adapter.shortcut_adapter.ShortcutAdapter object>
self.action = <templates.pie_menu.PieMenu object>
self.action.on_every_key_release = <bound method PieMenu.on_every_key_release of <templates.pie_menu.PieMenu object>>
C:\Users\Igor\AppData\Roaming\krita\pykrita\shortcut_composer\templates\pie_menu.py in on_every_key_release(self=<templates.pie_menu.PieMenu object>)
116 self._pie_manager.stop()
117 if label := self._labels.active:
118 self._controller.set_value(label.value)
119
120 def _create_labels(self, values: List[T]) → LabelHolder:
self = <templates.pie_menu.PieMenu object>
self._controller = <core_components.controllers.view_controllers.PresetController object>
self._controller.set_value = <bound method PresetController.set_value of <cor…ollers.view_controllers.PresetController object>>
label = Label(value=‘n) RGBA-wet 02 Flat’, center=PyQt5…yQt5.QtGui.QPixmap object at 0x000001A9D266AC10>)
label.value = ‘n) RGBA-wet 02 Flat’
C:\Users\Igor\AppData\Roaming\krita\pykrita\shortcut_composer\core_components\controllers\view_controllers.py in set_value(self=<core_components.controllers.view_controllers.PresetController object>, value=‘n) RGBA-wet 02 Flat’)
34 def set_value(self, value: str) → None:
35 “”“Set a preset of passed name.”“”
36 self.view.brush_preset = value
37
38 def get_label(self, value: str) → QPixmap:
self = <core_components.controllers.view_controllers.PresetController object>
self.view = View(view=<PyKrita.krita.View object at 0x000001A9D26534C0>)
self.view.brush_preset = ‘m) RGBA 01 Thick-dry’
value = ‘n) RGBA-wet 02 Flat’
C:\Users\Igor\AppData\Roaming\krita\pykrita\shortcut_composer\api_krita\wrappers\view.py in brush_preset(self=View(view=<PyKrita.krita.View object at 0x000001A9D26534C0>), preset_name=‘n) RGBA-wet 02 Flat’)
48 def brush_preset(self, preset_name: str) → None:
49 “”“Set brush preset inside this View using its name.”“”
50 self.view.setCurrentBrushPreset(self.preset_map[preset_name])
51
52 @property
self = View(view=<PyKrita.krita.View object at 0x000001A9D26534C0>)
self.view = <PyKrita.krita.View object>
self.view.setCurrentBrushPreset =
self.preset_map = {‘1H) Blocking RZV’: <PyKrita.krita.Resource object>, ‘1H) Bristles 01 CD(stroke)’: <PyKrita.krita.Resource object>, ‘1H) Canvas 01 0CD’: <PyKrita.krita.Resource object>, ‘1H) Canvas 01 CD(stroke)’: <PyKrita.krita.Resource object>, ‘1H) Canvas 01 CD(stroke) 2’: <PyKrita.krita.Resource object>, ‘1H) Canvas 02 AC CD(stroke) v2’: <PyKrita.krita.Resource object>, ‘1H) Canvas 02 CD(stroke) v2’: <PyKrita.krita.Resource object>, ‘1H) Canvas 03 CD(stroke)’: <PyKrita.krita.Resource object>, ‘1H) Canvas 04 CD(stroke)’: <PyKrita.krita.Resource object>, ‘1H) Chalk CD S’: <PyKrita.krita.Resource object>, …}
preset_name = ‘n) RGBA-wet 02 Flat’
KeyError: ‘n) RGBA-wet 02 Flat’
cause = None
class = <class ‘KeyError’>
context = None
delattr = <method-wrapper ‘delattr’ of KeyError object>
dict = {}
dir =
doc = ‘Mapping key not found.’
eq = <method-wrapper ‘eq’ of KeyError object>
format =
ge = <method-wrapper ‘ge’ of KeyError object>
getattribute = <method-wrapper ‘getattribute’ of KeyError object>
gt = <method-wrapper ‘gt’ of KeyError object>
hash = <method-wrapper ‘hash’ of KeyError object>
init = <method-wrapper ‘init’ of KeyError object>
init_subclass =
le = <method-wrapper ‘le’ of KeyError object>
lt = <method-wrapper ‘lt’ of KeyError object>
ne = <method-wrapper ‘ne’ of KeyError object>
new =
reduce =
reduce_ex =
repr = <method-wrapper ‘repr’ of KeyError object>
setattr = <method-wrapper ‘setattr’ of KeyError object>
setstate =
sizeof =
str = <method-wrapper ‘str’ of KeyError object>
subclasshook =
suppress_context = False
traceback =
args = (‘n) RGBA-wet 02 Flat’,)
with_traceback =
The above is a description of an error in a Python program. Here is
the original traceback:
Traceback (most recent call last):
File “C:\Users\Igor\AppData\Roaming\krita\pykrita\shortcut_composer\input_adapter\event_filter.py”, line 36, in eventFilter
callback(event)
File “C:\Users\Igor\AppData\Roaming\krita\pykrita\shortcut_composer\input_adapter\shortcut_adapter.py”, line 58, in event_filter_callback
self._on_key_release()
File “C:\Users\Igor\AppData\Roaming\krita\pykrita\shortcut_composer\input_adapter\shortcut_adapter.py”, line 45, in _on_key_release
self.action.on_every_key_release()
File “C:\Users\Igor\AppData\Roaming\krita\pykrita\shortcut_composer\templates\pie_menu.py”, line 118, in on_every_key_release
self._controller.set_value(label.value)
File “C:\Users\Igor\AppData\Roaming\krita\pykrita\shortcut_composer\core_components\controllers\view_controllers.py”, line 36, in set_value
self.view.brush_preset = value
File “C:\Users\Igor\AppData\Roaming\krita\pykrita\shortcut_composer\api_krita\wrappers\view.py”, line 50, in brush_preset
self.view.setCurrentBrushPreset(self.preset_map[preset_name])
KeyError: ‘n) RGBA-wet 02 Flat’
It was fixed after Krita’s restart. Still it is interesting, since my custom tag worked right after changing in script preferences.
And what “Pie icon global scale” should do? I thought it influences to brush icon size, but changing numbers don’t affect anything, instead I used “Pie global scale”.