You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I’m getting
—
File "/Users/ajr/Projects/NET/zad/zad/views/settings.py", line 178, in setup
sc.add_handler("gen/ignored_nets", sd.ignoredListWidget)
File "/usr/local/py_env/zad/lib/python3.9/site-packages/pyqtconfig/config.py", line 877, in add_handler
handler.setter(self._get(key))
File "/usr/local/py_env/zad/lib/python3.9/site-packages/pyqtconfig/config.py", line 428, in _set_QListWidget
self.findItems(
IndexError: list index out of range
—
This happens if the list corresponding to the QListWidget is not empty.
I’m using pyqtconfig.QSettingsManager() and do not touch the QListWidget.
Instead I modify the settings by replacing the complete list with a modified (per GUI) one.
This is the code to access and set the list settings:
if v:
for s in v:
self.findItems(
unicode(self._set_map(s)),
Qt.MatchExactly)[0].setSelected(True)
should probably be rewritten to
try:
for s in v:
self.findItems(
unicode(self._set_map(s)),
Qt.MatchExactly
)[0].setSelected(True)
except (KeyError, TypeError):
return None
We must catch a KeyError to solve the problem that @mc3 encountered, and also a TypeError to anticipate that v might be None. The code is in pyqtconfig/config.py starting on line 433.
I’m getting
—
File "/Users/ajr/Projects/NET/zad/zad/views/settings.py", line 178, in setup
sc.add_handler("gen/ignored_nets", sd.ignoredListWidget)
File "/usr/local/py_env/zad/lib/python3.9/site-packages/pyqtconfig/config.py", line 877, in add_handler
handler.setter(self._get(key))
File "/usr/local/py_env/zad/lib/python3.9/site-packages/pyqtconfig/config.py", line 428, in _set_QListWidget
self.findItems(
IndexError: list index out of range
—
This happens if the list corresponding to the QListWidget is not empty.
I’m using pyqtconfig.QSettingsManager() and do not touch the QListWidget.
Instead I modify the settings by replacing the complete list with a modified (per GUI) one.
This is the code to access and set the list settings:
def getPrefs(self):
self.prefs = sc.get(self.listPrefName)
return
def addPref(self, value):
self.getPrefs()
self.prefs.append(value)
sc.set(self.listPrefName, self.prefs)
self.printSettings('End addPref')
def setPref(self, index, value):
self.prefs[index] = value
sc.set(self.listPrefName, self.prefs)
def delPref(self, value):
self.getPrefs()
self.prefs.remove(value)
sc.set(self.listPrefName, self.prefs)
self.prefs is the list of values.
self.listPrefName is something like ’gen/ip4_nets'
sc is the pyqtconfig.QSettingsManager instance.
The text was updated successfully, but these errors were encountered: