Index: src/sas/qtgui/Utilities/GuiUtils.py
===================================================================
--- src/sas/qtgui/Utilities/GuiUtils.py	(revision 4992ff2626be19df7de9e5dfc0078b96bf47a75e)
+++ src/sas/qtgui/Utilities/GuiUtils.py	(revision fbfc488f82ca4192217ad32b69f00fc4a4e137ab)
@@ -249,5 +249,5 @@
         plot_item = item.child(index)
         if plot_item.isCheckable():
-            plot_data = plot_item.child(0).data() #.toPyObject()
+            plot_data = plot_item.child(0).data()
             if plot_data.id is not None and plot_data.id == py_update_data.id:
                 # replace data section in item
@@ -270,6 +270,4 @@
     Adds 'update_data' to that row.
     """
-    #assert isinstance(update_data, QtCore.QVariant)
-    #py_update_data = update_data.toPyObject()
     py_update_data = update_data
 
@@ -339,5 +337,5 @@
         if str(item.text()) == filename:
             # TODO: assure item type is correct (either data1/2D or Plotter)
-            plot_data.append(item.child(0).data()) #.toPyObject())
+            plot_data.append(item.child(0).data())
             # Going 1 level deeper only
             for index_2 in range(item.rowCount()):
@@ -345,5 +343,5 @@
                 if item_2 and item_2.isCheckable():
                     # TODO: assure item type is correct (either data1/2D or Plotter)
-                    plot_data.append(item_2.child(0).data()) #.toPyObject())
+                    plot_data.append(item_2.child(0).data())
 
     return plot_data
@@ -361,5 +359,5 @@
         if item.isCheckable() and item.checkState() == QtCore.Qt.Checked:
             # TODO: assure item type is correct (either data1/2D or Plotter)
-            plot_data.append((item, item.child(0).data())) #.toPyObject()))
+            plot_data.append((item, item.child(0).data()))
         # Going 1 level deeper only
         for index_2 in range(item.rowCount()):
@@ -367,5 +365,5 @@
             if item_2 and item_2.isCheckable() and item_2.checkState() == QtCore.Qt.Checked:
                 # TODO: assure item type is correct (either data1/2D or Plotter)
-                plot_data.append((item_2, item_2.child(0).data())) #.toPyObject()))
+                plot_data.append((item_2, item_2.child(0).data()))
 
     return plot_data
@@ -635,12 +633,16 @@
   
     def validate(self, input, pos):
-        try:
-            Formula(str(input))
-            self._setStyleSheet("")
-            return QtGui.QValidator.Acceptable, pos
-
-        except Exception as e:
-            self._setStyleSheet("background-color:pink;")
-            return QtGui.QValidator.Intermediate, pos
+
+        self._setStyleSheet("")
+        return QtGui.QValidator.Acceptable, pos
+
+        #try:
+        #    Formula(str(input))
+        #    self._setStyleSheet("")
+        #    return QtGui.QValidator.Acceptable, pos
+
+        #except Exception as e:
+        #    self._setStyleSheet("background-color:pink;")
+        #    return QtGui.QValidator.Intermediate, pos
 
     def _setStyleSheet(self, value):
@@ -756,5 +758,5 @@
     The assumption - data stored in SasView standard, in child 0
     """
-    return item.child(0).data() #.toPyObject()
+    return item.child(0).data()
 
 def formatNumber(value, high=False):
@@ -806,2 +808,19 @@
     else:
         return name
+
+def toDouble(value_string):
+    """
+    toFloat conversion which cares deeply about user's locale
+    """
+    # Holy shit this escalated quickly in Qt5.
+    # No more float() cast on general locales.
+    value = QtCore.QLocale().toFloat(value_string)
+    if value[1]:
+        return value[0]
+
+    # Try generic locale
+    value = QtCore.QLocale(QtCore.QLocale('en_US')).toFloat(value_string)
+    if value[1]:
+        return value[0]
+    else:
+        raise ValueError
Index: src/sas/qtgui/Utilities/IPythonWidget.py
===================================================================
--- src/sas/qtgui/Utilities/IPythonWidget.py	(revision 4992ff2626be19df7de9e5dfc0078b96bf47a75e)
+++ src/sas/qtgui/Utilities/IPythonWidget.py	(revision fbfc488f82ca4192217ad32b69f00fc4a4e137ab)
@@ -3,5 +3,5 @@
 from PyQt5 import QtWidgets
 
-##from PyQt4 import QtSvg
+from PyQt5 import QtSvg
 
 def new_load_qt(api_options):
@@ -18,6 +18,6 @@
 # Do some monkey patching to satisfy pyinstaller complaining
 # about pyside/pyqt confusion
-qt_loaders.load_qt = new_load_qt
-qtconsole_qt_loaders.load_qt = qtconsole_new_load_qt
+#qt_loaders.load_qt = new_load_qt
+#qtconsole_qt_loaders.load_qt = qtconsole_new_load_qt
 
 from qtconsole.rich_jupyter_widget import RichJupyterWidget
