私はAndroidタブレットをターゲットにしたQt/QMLにiOSアプリを移植しています。Androidタブレットにマスター詳細ビューQt/QMLを実装する方法は?
このアプリの動作は、元のiOSバージョン(UISplitViewController
に基づいています)に似ています。
つまり、私は風景モードでタブレットを使用してマスター詳細ビューを構築する必要があります。
ListView
でアイテムが選択されるたびに詳細ビューが動的に表示されるように、ListModel
をマスタービューとして使用することを考えていました。
現時点では、基本についても正しく理解するために苦労しています。私の質問が広すぎると思われる場合は、事前に私を許してください。私はすぐに直面している障害のカップルです:
私がQMLで見たほとんどの例は、デバイスの画面サイズをハードコードしているようです。たとえば、Qtのクリエータにおける典型的なスケルトンプロジェクトは、次のコードから構成されます:ウィンドウの幅と高さのプロパティ上に示されているように
ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Page1 {
}
}
ハードコーディングされています。実際には、物理デバイスの画面サイズに応じてこれらの値を動的に設定する必要があります。どうすればこれを達成できますか?
また、画面上部(バッテリーの充電レベルが表示されている部分)にステータスバーの領域を残すために、アプリケーション画面のサイズを変更する必要があります。
これを達成する方法を示すオンラインドキュメントへのコードスニペットとポインタは非常に高く評価されます。
編集:アプリケーションウィンドウの幅、高さ及び位置をさらにすることができる
ApplicationWindow {
id: appWindow
visible: true
width: Screen.width
height: Screen.height
title: qsTr("Hello World")
Page1 {
}
}
:ここでは、デバイスの画面サイズを使用して、アプリケーションウィンドウのサイズを設定し、更新main.qml、ありますデバイスのステータスバー領域に重ならないようになっています。
しかし、私はまだレイアウトの向きに悩まされています。デフォルトは縦向きです。レイアウトの向きを横向きに変更するにはどうすればよいですか?ここで
削除設定のサイズは明示的に、代わりにこれを設定してみてください:http://doc.qt.io/qt-5/qml-qtquick-window-window.html# visibility-prop – hyde
また、ここに示す例を試してみましたか:http://doc.qt.io/qt-5/ qml-qtquick-controls-applicationwindow.html – hyde