1) Вызываем в своем сперва QTableView::paintEvent(event); 
так если я вызову родной метод он же мне прорисует всю сетку правильно? т.о. что бы мне оставить только вертикальные линии сетки перед этим придется закрашивать ту сетку которую нарисовал родитель. вообще можно и я рассматривал этот вариант но выглядит как то кривовато.
т.е. как я понимаю так:
    1 - нарисовать все родителем (в том числе и сетку)
    2 - закрасить сетку что нарисовал родитель.
    3 - нарисовать только вертикальные линии
я понял верно?
Да так.
Минут через 15 - 30 кину тебе код по первому пункту.
по поводу пункта 2 тоже очень катит.... в задаче надо использовать большое кол-во цветов для разных событий въюхи и не только.
Если этот вариант на вскидку, осмелюсь спросить нет ли другого варианта?
Огромное человеческое спасибо за первые 2 пути. 
З.Ы. может наследование и переопределение обоих классов тоже не слишком красивых выход, зато получаю гибкость и полный контроль за моим классом.
На вскидку, это значит пришла идея, вроде верная, но нужно пробовать, писать тест.