Details
-
Bug
-
Resolution: Invalid
-
Not Evaluated
-
None
-
5.12.0
-
None
-
Arch Linux x86_64
Python 3.6.5
"PySide2 User Interface Compiler version , running on PySide2 5.12.0." (output verbatim from pyside2-uic --version)
Qt Designer 5.12.0
Description
In the attached ui file, I've created a simple MainWindow with a toolbar. This toolbar has Actions, and those Actions have icons provided by the icon theme property.
When attempting to compile this file into Python using pyside2-uic, a message about an error is output. Running with the debug flag, this is what I get:
$ pyside2-uic main_window.ui -o main_window.py -d Traceback (most recent call last): File "/home/gdude/.local/share/virtualenvs/PyBalance-qIOxlXRY/lib/python3.7/site-packages/pyside2uic/port_v3/invoke.py", line 34, in invoke exit_status = driver.invoke() File "/home/gdude/.local/share/virtualenvs/PyBalance-qIOxlXRY/lib/python3.7/site-packages/pyside2uic/driver.py", line 60, in invoke self._generate() File "/home/gdude/.local/share/virtualenvs/PyBalance-qIOxlXRY/lib/python3.7/site-packages/pyside2uic/driver.py", line 95, in _generate compileUi(self._ui_file, pyfile, self._opts.execute, self._opts.indent, self._opts.from_imports) File "/home/gdude/.local/share/virtualenvs/PyBalance-qIOxlXRY/lib/python3.7/site-packages/pyside2uic/__init__.py", line 143, in compileUi winfo = compiler.UICompiler().compileUi(uifile, pyfile, from_imports) File "/home/gdude/.local/share/virtualenvs/PyBalance-qIOxlXRY/lib/python3.7/site-packages/pyside2uic/Compiler/compiler.py", line 91, in compileUi w = self.parse(input_stream) File "/home/gdude/.local/share/virtualenvs/PyBalance-qIOxlXRY/lib/python3.7/site-packages/pyside2uic/uiparser.py", line 874, in parse actor(elem) File "/home/gdude/.local/share/virtualenvs/PyBalance-qIOxlXRY/lib/python3.7/site-packages/pyside2uic/uiparser.py", line 717, in createUserInterface self.traverseWidgetTree(elem) File "/home/gdude/.local/share/virtualenvs/PyBalance-qIOxlXRY/lib/python3.7/site-packages/pyside2uic/uiparser.py", line 695, in traverseWidgetTree handler(self, child) File "/home/gdude/.local/share/virtualenvs/PyBalance-qIOxlXRY/lib/python3.7/site-packages/pyside2uic/uiparser.py", line 668, in createAction elem) File "/home/gdude/.local/share/virtualenvs/PyBalance-qIOxlXRY/lib/python3.7/site-packages/pyside2uic/uiparser.py", line 155, in setupObject self.wprops.setProperties(obj, branch) File "/home/gdude/.local/share/virtualenvs/PyBalance-qIOxlXRY/lib/python3.7/site-packages/pyside2uic/properties.py", line 386, in setProperties prop_value = self.convert(prop, widget) File "/home/gdude/.local/share/virtualenvs/PyBalance-qIOxlXRY/lib/python3.7/site-packages/pyside2uic/properties.py", line 351, in convert return func(prop[0], **args) File "/home/gdude/.local/share/virtualenvs/PyBalance-qIOxlXRY/lib/python3.7/site-packages/pyside2uic/properties.py", line 179, in _iconset return self.icon_cache.get_icon(prop) File "/home/gdude/.local/share/virtualenvs/PyBalance-qIOxlXRY/lib/python3.7/site-packages/pyside2uic/icon_cache.py", line 49, in get_icon iset = _IconSet(iconset, self._base_dir) File "/home/gdude/.local/share/virtualenvs/PyBalance-qIOxlXRY/lib/python3.7/site-packages/pyside2uic/icon_cache.py", line 82, in __init__ self._fallback = self._file_name(iconset.text, base_dir) File "/home/gdude/.local/share/virtualenvs/PyBalance-qIOxlXRY/lib/python3.7/site-packages/pyside2uic/icon_cache.py", line 103, in _file_name fname = fname.replace("\\", "\\\\") AttributeError: 'NoneType' object has no attribute 'replace'
I had a quick look at the code therein, but I couldn't find any quick fixes. It's worth noting that editing the code to avoid setting self._fallback and then setting self._use_fallback to False results in a Python file where the actions are assigned empty Icon objects.