Cómo cambiar el color de fondo de las celdas específicas de Qtablewidget en pyqt

Soy nuevo en pyqt4 y no sé cómo hacerlo. Tengo un QtableWidget con datos en él. Quiero cambiar el color de fondo de las celdas de tableWidget.

Intenté self.tableWidget.item(3, 5).setBackground(QtGui.QColor(100,100,150)) y devuelve este error:

AttributeError: el objeto ‘NoneType’ no tiene el atributo ‘setBackground’

¿Qué tengo que hacer?

    Primero debe crear un elemento en ese lugar en la tabla, antes de poder establecer su color de fondo.

     self.tableWidget.setItem(3, 5, QtGui.QTableWidgetItem()) self.tableWidget.item(3, 5).setBackground(QtGui.QColor(100,100,150)) 
     import sys from PyQt4 import QtGui, QtCore lista = ['aa', 'ab', 'ac'] listb = ['ba', 'bb', 'bc'] listc = ['ca', 'cb', 'cc'] mystruct = {'A':lista, 'B':listb, 'C':listc} class MyTable(QtGui.QTableWidget): def __init__(self, thestruct, *args): QtGui.QTableWidget.__init__(self, *args) self.data = thestruct self.setmydata() def setmydata(self): n = 0 for key in self.data: m = 0 for item in self.data[key]: newitem = QtGui.QTableWidgetItem(item) if key == 'A': newitem.setBackground(QtGui.QColor(100,100,150)) elif key == 'B': newitem.setBackground(QtGui.QColor(100,150,100)) else: newitem.setBackground(QtGui.QColor(150,100,100)) self.setItem(m, n, newitem) m += 1 n += 1 def main(args): app = QtGui.QApplication(args) table = MyTable(mystruct, 5, 3) table.show() sys.exit(app.exec_()) if __name__=="__main__": main(sys.argv) 

    Versión ligeramente modificada de http://www.saltycrane.com/blog/2006/10/qtablewidget-example-using-python-24/