Well, I'd have to agree with Qt on this one, a single form with thousands of individual buttons does seem a bit cumbersome.
I think it might be better to use a QListWidget (or QListView) to display the characters; if you set "flow" to "QListView::LeftToRight", and "isWrapping" to true, Qt should be able to get the characters laid out in a pretty good manner.