It probably creates the right object, but your custom widget is wrong.

It should be:
Qt Code:
  1. class SpreadSheet : public QTableWidget
  2. {
  3. Q_OBJECT
  4. public :
  5. SpreadSheet( QWidget* a_parent = 0 );
  6. SpreadSheet( int a_row = 1, int a_column = 4, QWidget *a_parent = 0 );
  7. void CreatePopupMenu();
  8.  
  9. private slots:
  10. void ChooseColor();
  11. void ExecPopupMenu( int, int );
  12.  
  13. private:
  14. unsigned row;
  15. unsigned column;
  16. Q3PopupMenu *menu;
  17. QAction *colorBackAct;
  18. QAction *colorTextAct;
  19. QColor color;
  20. };
To copy to clipboard, switch view to plain text mode 
PS. Next time, please, use [ code ] tags to make your code readable.