IMEを無効にできない

IMEが有効になっていると、keyPressEventが来なくなるようです。IMEを無効にするには、

setAttribute( Qt::WA_InputMethodEnabled, false );

http://doc.qt.nokia.com/latest/qt.html#WidgetAttribute-enum

で良さそうに見えるんですが、さっぱり無効化してくれません(涙)。フォーカスのあるWidgetIMEが無効 (英語入力のみ) になるフラグ、という事じゃないんでしょうか……。昔は QWidget::setInputMethodEnabled() なんてものがあったようです。

補足

QLineEdit に setAttribute( Qt::WA_InputMethodEnabled, false ); すると、ASCII文字以外が弾かれるようになるんですね。入力コントロールの配置されてない Widget (プレーンなDialogとか) に対して、IMEの切り替え (A ← → あ) 自体できない (常に A になる) ようにしたいので、ちょっと違うかも…。

補足2

問題あるのはWindowsだけなので、ちょっと嫌ですが Win32 API を呼んで無効にするのが良さそうですね。

(*.pro)
win32:LIBS += -limm32
#ifdef Q_WS_WIN
  #include <qt_windows.h>
  ImmAssociateContext( (HWND)winId(), NULL );
#endif