For the features you want take a look at QicsTable by ICS. Its a source licensed commercial product, but it will save you a lot of time. Its stupports all the features you mention and its made for subclassing and extension.

http://www.ics.com/support/docs/qicstableapi/index.html

www.ics.com/qt

--Justin