LinuxのQtとQtCreatorで日本語入力を実現UbuntuでQt5とQtCreatorでアプリケーションを開発している。UbuntuのパッケージマネージャーのAPTでインストールできるものはバージョンが古いので,公式サイトのインストーラーからダウンロードしたものを使っている。最新のバージョンのQtが使えて満足していたのだが,インストーラーからインストールした場合,QtCreatorで日本語が入力できず,このQtCreatorで作成したアプリケーションでも日本語を入力できないという問題があった。UbuntuでのIMEにはfcitxとmozcの組み合わせを使っており,日本語に入力を切り替えようとしても切り替えられなかった。今後の開発に大きな影響が出るためこの問題の対応方法を調べ,無事に解決できたのでその手順を記す。この問題の対処方法は以下のページを参考にした。Qiitaどうやら,インストーラーからインストールした場合,plugins/platforminputcontexts/にlibfcitxplatforminputcontextplugin.soが欠如しているため,IMEの切り替えが機能しないらしい。そこで,自分でlibfcitxplatforminputcontextplugin.soを含んでいるfcitx-qt5をソースコードからビルドして,インストールすることで対応する。5.11.1Fcitxのプロジェクトのリポジトリーは,GithubからGitlabに移行したようだ。testが存在せず,ビルド結果を保証できないので,扱いには注意する。デフォルトでは,ENABLE_LIBRARY=ONとなっており,ビルドにFcitxとLibIntlが必要となる。QtやQtCreatorでのFcitxによるIMEの有効化にはなくても問題ないので,pkg-configコマンドで判定し,これらのライブラリーが存在しない場合はcmakeのビルドオプションを無効にしている。QtとQtCreatorのFcitxによるIMEの有効化ビルドが成功するとplatforminputcontext/libfcitxplatforminputcontextplugin.soが生成される。このファイルがQtでのFcitxの有効化に必要なライブラリーだ。installを実行しても$LOCAL/stow/fcitx-qt5-$VERディレクトリーにはインストールされないようだ。自動的にインストールされる。""QtCreatorにはインストールされないので,手動でインストールする。以下のようにQtのインストール先のTools/QtCreator/lib/Qt/plugins/platforminputcontexts/にlibfcitxplatforminputcontextplugin.soを配置すればよい。$LOCAL/opt/stow/Qt/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/これでQtやQtCreatorでFcitxによるIME切り替えができるようになる。QtやQtCreatorのバージョンを上げた場合などは,再ビルド・インストールが必要になるので注意する。ビルド時の環境変数ビルドにはQt5が必須であり,PATHとLD_LIBRARY_PATHの環境変数も必須となる。環境変数を設定しておく。~/.profileや~/.bashrcにも設定しておくとよいだろう。CMAKE_PREFIX_PATHを指定するように書いてあるものがあったが,これは本質ではない。CMAKE_PREFIX_PATHを指定していても,ビルド時にQt5のmocやライブラリーを参照するので,PATH環境変数とLD_LIBRARY_PATH環境変数が設定されていないとビルドエラーとなる。具体的には,PATH環境変数にQt5が設定されていないと,make実行時に以下のエラーが出る。2どうやら,Qt5のmocコマンドを使っているためのようだ。同様に,LD_LIBRARY_PATH環境変数が設定されていないと,make実行時に以下のエラーが出る。2そのため,PATH環境変数とLD_LIBRARY_PATH環境変数はビルド時に設定が必要だ。対して1件のコメントがあります。モードでQTCreatorを開くと日本語入力出来ない事。sudoモード以外わ出来ます。コメントをキャンセルメールアドレスが公開されることはありません。