If you don't know how to use the debugger (and if you don't, how do you expect to become a good programmer?), modify your code to tell you what's wrong:

Qt Code:
  1. #include <QMessageBox>
  2.  
  3. mapper = new QSignalMapper ();
  4.  
  5. if ( obj_schedule_table != 0 )
  6. {
  7. for(int i=0; i<obj_schedule_table->rowCount(); i++)
  8. {
  9. QWidget * widget1 = obj_schedule_table->cellWidget(i,3);
  10. if ( widget1 != 0 )
  11. {
  12. QComboBox * combo = dynamic_cast<QComboBox*>(widget1->children().at(1));
  13. if ( combo != 0 )
  14. {
  15. combo->setEditable(false);
  16.  
  17. mapper->setMapping(combo, i);
  18. connect(combo, SIGNAL(activated(QString)), mapper, SLOT (map()));
  19. }
  20. else
  21. QMessageBox::critical( this, "Error", "Pointer to combo is NULL" );
  22. }
  23. else
  24. QMessageBox::critical( this, "Error", "Pointer to widget1 is NULL" );
  25. }
  26. }
  27. else
  28. QMessageBox::critical( this, "Error", "Pointer to obj_schedule_table is NULL" );
  29.  
  30. connect(mapper, SIGNAL(mapped(int)), this, SLOT(set_item_combobox_type(int)));
To copy to clipboard, switch view to plain text mode 

Which message box do you see? That should give you a clue about where to look to solve the problem.