私はQt 5.9(+ V-Play)のクロスプラットフォームアプリケーションを台湾の共同作業用スペースとして開発しています。
すべてのユーザーはです。中国語の繁体字中国語ネイティブなので、私のアプリではUTF-8中国語の文字列を使用しています。QMLボタンテキストはutf-8中国語を表示できません(空白を表示するだけです)
中国は私だけ空スペースを示してOKらしい部品のほとんどが、UTF-8でQMLボタン。デスクトップで
それは正常に動作しますが、Androidの上(エミュレータでと電話の両方で)問題がを発生しました。
さらに、後でComponent.onCompleteのbutton.text = "中文UTF-8中国語"を正しく設定すると、正しく表示されます。
Button.textフィールドに中国語(UTF-8)文字列を使用できますか?
「はい」の場合は、動作させるにはどうすればよいですか?
更新:これは最初のタブで行わ
が(タブが示さアプリケーション開始)コメントで
POC
コード:
// imports
import VPlayApps 1.0
import QtQuick 2.0
import QtQuick.Layouts 1.1
import QtQuick.Controls 2.1
//import QtQuick.Controls.Material 2.1
import QtPositioning 5.2
// QML Button parts
Rectangle {
id: containerBtn
height: dp(60)
radius: 5
anchors.right: parent.right
anchors.left: parent.left
anchors.bottom: parent.bottom
border.color: "blue"
Button {
id: btn_reload_pic
text: "截圖.reload()"
//dropShadow: true
//icon: IconType.recycle
anchors.right: parent.horizontalCenter
//width: parent.width/4
//radius: 5
onClicked: {
var currentTime = new Date();
currentSnapshot.snapshotURL = currentSnapshot.snapshotURL + "?t=" + currentTime
}
}
AppButton {
id: btnLock
text: "芝麻開門(或關門)"
dropShadow: true
icon: IconType.question
anchors.left: parent.horizontalCenter
width: parent.width/4
radius: 5
onClicked: lockSwitch()
}
}
// Component.onComplete
btnLock.text = '芝麻關門';
スクリーンショット:
Button shows empty utf-8 chinese string
after setting button.text later in onComplete
環境:
のQt 5.9
QtCreator 4.3.0
2.12.1-1
のUbuntu 16.04 LTS 64 のAndroid 7.0 API 24、x86のをV-再生エミュレータ/ HTC 10
テストアプリ:Google PlayのMOLiApp(投稿できません)ここにリンクしてください)
ここにPOC:https:// github。com/BlueT/qt-testing-utf8 –
他の開発者からのいくつかのテストによれば、Android 5はうまく動作するため、これはAndroid 7の互換性の問題かもしれません。 –