Попробуйте установить для AutoFillBackground значение True, прежде чем изменить цвет (перед вызовом setStylesheet). И я думаю, вам нужно установить поддон. В этом комментарии предполагается, что вы имели в виду «цвет виджета не отображается». Пожалуйста, проверьте синтаксис, как показано ниже для Qt4.3, и я не проверял последний. После того, как вы установили паллету, вам не нужно устанавливать таблицу стилей.
class colorButton(QtGui.QWidget)
def __init__(self, args):
QtGui.QPushButton.__init__(self,args)
self.setGeometry(150, 22, 50, 50)
self.setAutoFillBackground(True)
plt = QtGui.QPalette()
plt.setColor(QtGui.QPalette.Active,QtGui.QPalette.Window,color)
plt.setColor(QtGui.QPalette.Inactive,QtGui.QPalette.Window,color)
plt.setColor(QtGui.QPalette.Disabled,QtGui.QPalette.Window,color
self.setPalette(plt)
#self.setStyleSheet("QWidget { background-color: %s }" % color.name())