Help us understand the problem. What is going on with this article?

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

概要

この記事は @KazuoAsa さんの書かれた「Ubuntu 16.04LTSでのQtCreator日本語入力」という記事を、 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のダウンロードサイトから最新のインストーラーをダウンロードしてインストールします。インストーラーは、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

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

$ sudo /opt/Qt/MaintenanceTool

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

image.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

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

image.png

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

$ sudo reboot

fcitxの設定

$ fcitx-configtool

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

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

image.png

Mozcの設定

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

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

image.png

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

soramimi_jp
C++とQtが好き。電子工作もやる。第一種情報処理技術者と第二種電気工事士を持ってる。ワンチップマイコンのファームウェアからPCのデスクトップアプリまで。PCより大規模なシステムは守備範囲外。うちの子かわいい(ドール)。40代独身おっさん(´・ω・`)
http://www.soramimi.jp/
AI-medical-service
近未来の内視鏡医療を実現する医療ベンチャー
https://www.ai-ms.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした