Qt 5 の未来は明るいブログ

プレースホルダーテキストと日本語入力のバグを修正

Published: 2013-05-27 / Last modified: 2013-05-27

Qt 5 でビルドした Qt Creator に日本語入力ができるようになって、エディタの次に試す場所といったらロケーター(Ctrl+K で出るやつ) ですよね。

それで、Qt 5.1.0 のベータ版 に付属の Qt Creator で試してみたところ、こんな事になるわけです。

かっこわるい。

元々、QLineEdit のプレースホルダーテキストはフォーカスが当たったら消えるようになっていたのですが、今年の2月にマージされた Keep QLineEdit placeholder text visible when focused というコミットで、フォーカスが当たった状態でもテキストが空であれば表示するように変更されていたようです。

日本語などを入力する際には Preedit Text と呼ばれる未確定の入力文字を使用するので、そちらも考慮するよう hide placeholder text when QLineEdit has preedit text というパッチをでっち上げてプッシュました。

Qt の日本語入力に関係する部分はちょっと気を抜くとすぐに変になるので、気をつけましょう。