Ubuntu 20.04 上の Qt Creator で日本語入力

## 概要

この記事は @KazuoAsa  さんの書かれた「[Ubuntu 16.04LTSでのQtCreator日本語入力](https://qiita.com/sazus/items/4b4f68e1fb86cc2f36cc)」という記事を、 Ubuntu 20.04 と Qt 5.14 向けに改定したものです。やっていることは基本的には元記事と同じです。

日本語入力には fcitx-mozc の使用を想定しています。

Ubuntu標準パッケージに収録されている Qt Creator を使用する場合は、日本語入力も含めた全ての設定が調整済みになっているはずですので、この記事は不要です。最新版の Qt Creator で日本語入力を行いたい場合は、Qt Projectの公式配布版をインストールし、この記事の手順に従って、入力プラグインをビルドしインストールする必要があります。

## 準備

初めに、基本的な開発環境と、依存パッケージをインストールします。

```
$ sudo apt-get install git cmake build-essential qt5-default qtbase5-dev qtbase5-private-dev extra-cmake-modules fcitx-mozc fcitx-libs-dev libxkbcommon-dev
```

## Qt のインストール

**[Qtのダウンロードサイト](https://www.qt.io/download-qt-installer)**から最新のインストーラーをダウンロードしてインストールします。インストーラーは、`sudo`なしで実行すると、現在のユーザー専用にセットアップされます。通常は`/opt/Qt`へインストールして、全てのユーザーが利用できるようにするほうが便利ですので、`sudo`付きで実行します。

```
$ chmod +x qt-unified-linux-x64-3.2.3-online.run 
$ sudo ./qt-unified-linux-x64-3.2.3-online.run 
```

Qt Creator と同じバージョンの Qt SDK が必要となります。あらかじめバージョンがわかっていれば、それを選択してインストールすればいいのですが、そのバージョン番号を知るためには、インストールを一回完了しないといけません。

とりあえず、最新バージョンのSDKの「Desktop gcc 64-bit」を選択してインストールします。インストールが完了したら、 Qt Creator を起動します。

```
$ /opt/Qt/Tool/QtCreator/bin/qtcreator
```

バージョン情報ダイアログを開いて、表示を確認します。本記事執筆時点で、最新の Qt Creator は 4.12.2 で、そのビルドに使用された Qt SDK は 5.14.2 となっています。このバージョン番号を覚えておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61222/2e7f990b-e523-f3da-239b-400489d7bb53.png)

Qt SDK の保守ツールを起動します。

```
$ sudo /opt/Qt/MaintenanceTool
```

「コンポーネントの追加または削除」を選択し、コンポーネントの選択画面で、該当する「Desktop gcc 64-bit」を選択し、続行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61222/427aba09-3cc1-f0c2-7493-bd8e8df70a4f.png)

## fcitxプラグインのインストール

fcitx-qt5のgitリポジトリからソースコードを取得します。

```
$ git clone https://github.com/fcitx/fcitx-qt5.git
```

ビルドします。

```
$ cd fcitx-qt5
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_PREFIX_PATH=/opt/Qt/5.14.2/gcc_64/
$ make -j4
```

ビルドが成功したら、`plugins/libfcitxplatforminputcontextplugin.so`というファイルができているはずです。これを必要な場所にコピーします。コピー先を検索すると、結果が2つか3つくらい表示されると思います。

```
$ find /opt/Qt -name platforminputcontexts
/opt/Qt/5.14.2/gcc_64/plugins/platforminputcontexts
/opt/Qt/5.15.0/gcc_64/plugins/platforminputcontexts
/opt/Qt/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts
```

本記事でビルドしたプラグインは、 5.14.2 でビルドされた Qt Creator 用ですので、コピー先は2か所です。上記例では 5.15.0 は無視します。

```
$ sudo cp platforminputcontext/libfcitxplatforminputcontextplugin.so /opt/Qt/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
$ sudo cp platforminputcontext/libfcitxplatforminputcontextplugin.so /opt/Qt/5.14.2/gcc_64/plugins/platforminputcontexts/
```

## 言語サポートの設定

「言語サポート」を開きます。「lang」で検索するか、コマンドなら`gnome-language-selector`を実行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61222/f980b52b-38f8-9d95-e107-6169c7faa20e.png)

「キーボード入力に使うIMシステム」を「fcitx」にします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61222/56eaadd5-a1a3-03f2-e79b-e62b74ecea71.png)

ここで一度再起動します。

```
$ sudo reboot
```

## fcitxの設定

```
$ fcitx-configtool
```

[入力メソッドの設定]ウィンドウで[全体の設定]を開きます。

初期状態では、[Ctrl+スペース]または[半角／全角]キーで、入力モードが切り替わるようになっています。このままで良ければ設定を変更する必要はありません。筆者は日本語キーボードを使っており、[Ctrl+変換]でオン、[Ctrl+無変換]でオフという設定がお気に入りですので、左下の[Show Advanced Options]をクリックして、IMEのオンオフのキー割り当てを変更しています。ここは各自お好みで変更してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61222/9c313e8d-9cda-bccc-690c-d8dcb5f6c6b0.png)

## Mozcの設定

```
$ /usr/lib/mozc/mozc_tool --mode=config_dialog
```

[Mozcのプロパティ]ウィンドウが開きます。筆者のおすすめは、[スペースの入力]＝[半角]です。もちろん各自お好みで設定します。[キー設定]で、Mozcの詳細なキー割り当てを変更することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61222/7111ff0f-95cb-e70f-b211-faeda0520669.png)

設定が完了したら、次回起動のアプリケーションから設定が有効になります。念のため、ログアウトか再起動して、ログインしなおすと確実です。