Index: src/sas/qtgui/Perspectives/Fitting/FittingUtilities.py
===================================================================
--- src/sas/qtgui/Perspectives/Fitting/FittingUtilities.py	(revision 8222f171ca8747f44ec53b2088e4cf8903026e84)
+++ src/sas/qtgui/Perspectives/Fitting/FittingUtilities.py	(revision a95c44b70e9d487306aace4e5481e94bf3e26e7f)
@@ -137,4 +137,9 @@
     model.setHeaderData(4, QtCore.Qt.Horizontal, QtCore.QVariant("Units"))
 
+    model.header_tooltips = ['Select parameter for fitting',
+                             'Enter parameter value',
+                             'Enter minimum value for parameter',
+                             'Enter maximum value for parameter',
+                             'Unit of the parameter']
 def addErrorHeadersToModel(model):
     """
@@ -147,4 +152,11 @@
     model.setHeaderData(4, QtCore.Qt.Horizontal, QtCore.QVariant("Max"))
     model.setHeaderData(5, QtCore.Qt.Horizontal, QtCore.QVariant("Units"))
+
+    model.header_tooltips = ['Select parameter for fitting',
+                             'Enter parameter value',
+                             'Error value for fitted parameter',
+                             'Enter minimum value for parameter',
+                             'Enter maximum value for parameter',
+                             'Unit of the parameter']
 
 def addPolyHeadersToModel(model):
@@ -160,4 +172,14 @@
     model.setHeaderData(6, QtCore.Qt.Horizontal, QtCore.QVariant("Function"))
     model.setHeaderData(7, QtCore.Qt.Horizontal, QtCore.QVariant("Filename"))
+
+    model.header_tooltips = ['Select parameter for fitting',
+                             'Enter polydispersity ratio (STD/mean). '
+                             'STD: standard deviation from the mean value',
+                             'Enter minimum value for parameter',
+                             'Enter maximum value for parameter',
+                             'Enter number of points for parameter',
+                             'Enter number of sigmas parameter',
+                             'Select distribution function',
+                             'Select filename with user-definable distribution']
 
 def addErrorPolyHeadersToModel(model):
@@ -174,4 +196,15 @@
     model.setHeaderData(7, QtCore.Qt.Horizontal, QtCore.QVariant("Function"))
     model.setHeaderData(8, QtCore.Qt.Horizontal, QtCore.QVariant("Filename"))
+
+    model.header_tooltips = ['Select parameter for fitting',
+                             'Enter polydispersity ratio (STD/mean). '
+                             'STD: standard deviation from the mean value',
+                             'Error value for fitted parameter',
+                             'Enter minimum value for parameter',
+                             'Enter maximum value for parameter',
+                             'Enter number of points for parameter',
+                             'Enter number of sigmas parameter',
+                             'Select distribution function',
+                             'Select filename with user-definable distribution']
 
 def addShellsToModel(parameters, model, index):
Index: src/sas/qtgui/Perspectives/Fitting/FittingWidget.py
===================================================================
--- src/sas/qtgui/Perspectives/Fitting/FittingWidget.py	(revision 8f2548cd7fffb3f54143a7f2c99d8679f11351f3)
+++ src/sas/qtgui/Perspectives/Fitting/FittingWidget.py	(revision a95c44b70e9d487306aace4e5481e94bf3e26e7f)
@@ -50,4 +50,17 @@
 
 USING_TWISTED = True
+
+class ToolTippedItemModel(QtGui.QStandardItemModel):
+
+    def __init__(self, parent = None):
+        QtGui.QStandardItemModel.__init__(self,parent)
+
+    def headerData(self, section, orientation, role):
+
+        if role == QtCore.Qt.ToolTipRole:
+            if orientation == QtCore.Qt.Horizontal:
+                return QtCore.QString(str(self.header_tooltips[section]))
+
+        return QtGui.QStandardItemModel.headerData(self, section, orientation, role)
 
 class FittingWidget(QtGui.QWidget, Ui_FittingWidgetUI):
@@ -240,7 +253,7 @@
         # We can't use a single model here, due to restrictions on flattening
         # the model tree with subclassed QAbstractProxyModel...
-        self._model_model = QtGui.QStandardItemModel()
-        self._poly_model = QtGui.QStandardItemModel()
-        self._magnet_model = QtGui.QStandardItemModel()
+        self._model_model = ToolTippedItemModel()
+        self._poly_model = ToolTippedItemModel()
+        self._magnet_model = ToolTippedItemModel()
 
         # Param model displayed in param list
Index: src/sas/qtgui/Perspectives/Fitting/UnitTesting/FittingWidgetTest.py
===================================================================
--- src/sas/qtgui/Perspectives/Fitting/UnitTesting/FittingWidgetTest.py	(revision a14a2b0391e1cbc499522b22d4189920856d22a9)
+++ src/sas/qtgui/Perspectives/Fitting/UnitTesting/FittingWidgetTest.py	(revision c7358b24e5032be5648d823d4c423fe8a39ef5b0)
@@ -342,4 +342,21 @@
         self.assertEqual(self.widget.lstPoly.horizontalHeader().count(), 8)
         self.assertFalse(self.widget.lstPoly.horizontalHeader().stretchLastSection())
+
+        # Test tooltips
+        self.assertEqual(len(self.widget._poly_model.header_tooltips), 8)
+
+        header_tooltips = ['Select parameter for fitting',
+                             'Enter polydispersity ratio (STD/mean). '
+                             'STD: standard deviation from the mean value',
+                             'Enter minimum value for parameter',
+                             'Enter maximum value for parameter',
+                             'Enter number of points for parameter',
+                             'Enter number of sigmas parameter',
+                             'Select distribution function',
+                             'Select filename with user-definable distribution']
+        for column, tooltip in enumerate(header_tooltips):
+             self.assertEqual(self.widget._poly_model.headerData( column,
+                QtCore.Qt.Horizontal, QtCore.Qt.ToolTipRole),
+                         header_tooltips[column])
 
         # Test presence of comboboxes in last column
@@ -478,4 +495,17 @@
         self.assertFalse(self.widget.lstMagnetic.horizontalHeader().stretchLastSection())
 
+        #Test tooltips
+        self.assertEqual(len(self.widget._magnet_model.header_tooltips), 5)
+
+        header_tooltips = ['Select parameter for fitting',
+                             'Enter parameter value',
+                             'Enter minimum value for parameter',
+                             'Enter maximum value for parameter',
+                             'Unit of the parameter']
+        for column, tooltip in enumerate(header_tooltips):
+             self.assertEqual(self.widget._magnet_model.headerData(column,
+                QtCore.Qt.Horizontal, QtCore.Qt.ToolTipRole),
+                         header_tooltips[column])
+
         # Test rows
         for row in xrange(self.widget._magnet_model.rowCount()):
@@ -835,4 +865,23 @@
         name_modified_param = str(self.widget._model_model.item(5, 0).text())
 
+         # Check the model
+        self.assertEqual(self.widget._model_model.rowCount(), 6)
+        self.assertEqual(self.widget._model_model.columnCount(), 5)
+
+        # Test the header
+        #self.assertEqual(self.widget.lstParams.horizontalHeader().count(), 5)
+        #self.assertFalse(self.widget.lstParams.horizontalHeader().stretchLastSection())
+
+        self.assertEqual(len(self.widget._model_model.header_tooltips), 5)
+        header_tooltips = ['Select parameter for fitting',
+                             'Enter parameter value',
+                             'Enter minimum value for parameter',
+                             'Enter maximum value for parameter',
+                             'Unit of the parameter']
+        for column, tooltip in enumerate(header_tooltips):
+             self.assertEqual(self.widget._model_model.headerData(column,
+                QtCore.Qt.Horizontal, QtCore.Qt.ToolTipRole),
+                         header_tooltips[column])
+
         # check that the value has been modified in kernel_module
         self.assertEqual(new_value,
