こちらも解決。
QTextCodec::setCodecForTr( QTextCodec::codecForLocale() );
でtr()に使うコーデックを指定できるようだ。
デフォルトだとLatin1になってる様子。

最初は
QTextCodec::setCodecForTr( QTextCodec::codecForName("Shift-JIS") );
をやったのだけど、なぜかこれだとできない。

本当はUTF8でやりたいのだけど、VisualStudioなので
ソースがShift-JIS以外で書けないんですよ。
設定とかあるんだろうか。