Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Japanese
  4. FormsのLabelに日本語を使うには
Qt 6.11 is out! See what's new in the release blog

FormsのLabelに日本語を使うには

Scheduled Pinned Locked Moved Solved Japanese
10 Posts 2 Posters 7.8k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • taku-sT Offline
    taku-sT Offline
    taku-s
    wrote on last edited by
    #1

    Debian 9 Qt Creator4.7.2
    Qt CreatorでForms作成時に、LabelのTextに日本語を使うにはどうすれば良いでしょうか?

    よろしく、お願いします。

    KazuoAsanoK 1 Reply Last reply
    0
    • KazuoAsanoK Offline
      KazuoAsanoK Offline
      KazuoAsano
      Qt Champions 2018
      wrote on last edited by
      #2

      Qt Creator4.7.2 を使用しているとの事ですので、
      おそらくQt5系を使用されていると想定します。
      また、WindowsでのVisutal Studioのコンパイラを使用しての動作を前提として回答します。

      Visual Studioでは、ソースコードの文字コードが、UTF-8か、シフトJISにかかわらずシフトJISに変換されてコンパイルされます。

      たとえば、

      void MainWindow::on_pushButton_clicked()
      {
          ui->labelSample->setText(tr("ラベル変更"));
      }
      

      とCodeを書くと

      0_1545376779947_Sample3.png

      のように文字化けするようです。

      対策として、

      • ソースコードの文字コードを、シフトJISの文字コードにする。

      ソースコードの文字コードをUTF-8で記述しないといけない場合では、

      • execution_character_setのpragmaを使用して、utf-8として設定する。
        該当のソースコードに以下のCodeを付与します。
      #pragma execution_character_set("utf-8")
      
      • 文字列リテラルに"u8"プレフィックスを付ける。
      void MainWindow::on_pushButton_clicked()
      {
          ui->labelSample->setText(tr(u8"ラベル変更"));
      }
      

      いちどお試しあれ。
      GitHubにサンプルコードをcommitしてみました。
      こちらも参考にしてみてください。

      1 Reply Last reply
      0
      • taku-sT Offline
        taku-sT Offline
        taku-s
        wrote on last edited by taku-s
        #3

        KazuoAsanoさま
        ご回答いただき、ありがとうございました。
        私は、Windows10上でも、Qt5.2を使っているんですが、こちらは今まで何にも気にすることなく日本語を使っていましたが、この回、Linux Debina9上でQtを使おうとしたところ、Qt内ではまったく日本語が使えませんでした。
        IMEが効かないのです。
        他のアプリでは問題なく日本語変換できるのですが。
        このあたりについての情報も少ないようなので、困っています。

        taku-sT 1 Reply Last reply
        0
        • taku-sT Offline
          taku-sT Offline
          taku-s
          wrote on last edited by taku-s
          #4

          Linux用Qt5.12の場合、国際化対応のため、プログラム内では日本語を使わず、QObject::tr()で囲み、別途tsファイルを生成するんですね。
          一応解決しました。

          1 Reply Last reply
          0
          • taku-sT taku-s

            KazuoAsanoさま
            ご回答いただき、ありがとうございました。
            私は、Windows10上でも、Qt5.2を使っているんですが、こちらは今まで何にも気にすることなく日本語を使っていましたが、この回、Linux Debina9上でQtを使おうとしたところ、Qt内ではまったく日本語が使えませんでした。
            IMEが効かないのです。
            他のアプリでは問題なく日本語変換できるのですが。
            このあたりについての情報も少ないようなので、困っています。

            taku-sT Offline
            taku-sT Offline
            taku-s
            wrote on last edited by taku-s
            #5
            This post is deleted!
            1 Reply Last reply
            0
            • taku-sT taku-s

              Debian 9 Qt Creator4.7.2
              Qt CreatorでForms作成時に、LabelのTextに日本語を使うにはどうすれば良いでしょうか?

              よろしく、お願いします。

              KazuoAsanoK Offline
              KazuoAsanoK Offline
              KazuoAsano
              Qt Champions 2018
              wrote on last edited by
              #6

              Debina上でのQt Creator日本語入力は、ちょっとした対応が必要になりますが対応可能です。

              iBus + Fcitxの場合、pluginがQt Creator内にありませんので
              IME経由での日本語入力ができない状態です。

              https://github.com/fcitx/fcitx-qt5

              にFcitx用のQt5 Input Contextがありますのでお試しあれ
              CMakeでのbuildなので、あまりトラブルにならないと思いますが

              Ubuntu 16.04LTSでのQtCreator日本語入力

              のQiita記事を参照して頂くと、UbuntuもDebian系なので、迷わずInstallできると思います。

              解決できれば、unsolved -> solved に変更して頂けると、たぶん閲覧されてる方が幸せになりますw

              1 Reply Last reply
              0
              • taku-sT Offline
                taku-sT Offline
                taku-s
                wrote on last edited by
                #7

                KazuoAsanoさま
                貴重な情報をありがとうございます。
                Debian9の場合、デフォルトのIMEはuimでした。
                git clone と
                apt-get install cmake ecm extra-cmake-modules fcitx-libs-dev をやってみたんですが
                Qt Creatorのアイコンが消えたり、Debian全体でIMEが効かなくなったりと、少々手こずっています。
                年末で、時間が取れないので、少し時間が掛かるかと思いますが、また報告させていただきます。

                1 Reply Last reply
                0
                • taku-sT Offline
                  taku-sT Offline
                  taku-s
                  wrote on last edited by
                  #8

                  結果報告です
                  <テスト環境>
                  OS : Debian9 stretch
                  デスクトップ環境 : Gnome
                  日本語IME : uim
                  Qtバージョン : Qt5.12.0
                  インストールディレクトリ : /usr/local/bin/Qt

                  <不具合内容>
                  参考URLの内容を実行すると
                  日本語IMEが、うまく効かない
                  fcitx-libs-devをインストールした時点で
                  インストール済みのQtCreatorのアイコンがアクティビティのダッシュボードから消えて、アプリケーション表示からも無くなってします。
                  インストールディレクトリにQtCreatorは有り、コマンドラインから実行出来るが、右クリックでダッシュボードへのお気に入り登録できない。

                  <対策>
                  まず、参考URLにある apt-get install ecm は間違いで不要だと思います
                  Debian stretchの場合Ubuntuと違い、mozcがデフォルトではないので、fcitx-libs-dev の代わりに、fcitx-mozc を使えば日本語が使えるようになった。
                  アイコンが消える問題は、Qtを再インストールすればOK、他の方法は不明です。
                  fcitx-libs-devをインストールせず、fcitx-mozcだけインストールすれば、アイコンが消えないのか、未検証
                  Qtインストール前に、fcitx-mozcをインストールしておけば問題ないのか、未検証

                  おかげさまで、Qtに日本語入力ができるようになりました。ありがとうございました。

                  1 Reply Last reply
                  1
                  • KazuoAsanoK Offline
                    KazuoAsanoK Offline
                    KazuoAsano
                    Qt Champions 2018
                    wrote on last edited by
                    #9

                    @taku-s さん

                    解決できてよかったです!
                    よかったら、Replyの横に”Topic Tools"ボタンがあるのでunsolved -> solved に変更よろしく:)

                    1 Reply Last reply
                    0
                    • taku-sT Offline
                      taku-sT Offline
                      taku-s
                      wrote on last edited by taku-s
                      #10

                      QtCreatorがアプリ一覧から消えてします件ですが
                      fcitx-lib-dev等は関係ありませんでした。
                      あくまで、OS Debian9 stretch インストールディレクトリ/usr/local/binとした場合ですが
                      インストールディレクトリへのパスが通っていないのが原因のようでした。
                      コマンドでの、qtcreator起動ができませんでした。
                      この状態でapt-get update等のコマンドを実行すると、アプリ一覧から消えてしまうようです。
                      ですので、検索パスを通すか、
                      /usr/local/bin/Qt/Tools/QtCreator/bin/qtcreatorのシンボリックシンクをパスの通ってい所に置き、
                      /usr/share/applications 或いは /usr/share/gmone/applications に作られている
                      DigiaQt-qtcreator-community.desktop 内の Exec = の内容をこのリンクに変更すればよいようです。

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved