Я читал документацию, и кажется, что это не способ получить QUndoStack напрямую для виджета.
Вероятно, единственный способ - создать собственный объект QUndoStack, вручную добавить изменения и затем переопределить слоты do / undo. Я хотел бы взглянуть на исходный код, вы, вероятно, можете получить большую часть кода, который вам нужен для хранения изменений в QTextDocument.