Qt используют единьІй стиль работьІ с векторами, чтобьІ не возникало путаницьІ, поетому вектор всегда одномерньІй. Но могу предложить такой способ для работьІ с массивами:
QVector< QVector<int> > matrix = QVector< QVector<int> >( 30, QVector<int>( 40 ) );
или
matrix = QVector< QVector<int> >( 30, QVector<int>( 40, 7 ) ); // 7 - default value, matrix filled with
или
matrix.resize( 30 );
matrix.fill( QVector<int>( 40 ) );
Громоздкий конструктор, но работа с такой матрицей как с обьІчной:
matrix[3][5] = 123;
...
int value = matrix[6][2];
Кстати, одно из нововведений в новом стандарте С++, которьІй предложил Страуструп - обращение к шаблонньІм классам без повторного указания типа.