私はQTが新しく、ラズベリーパイとタッチ液晶ディスプレイのQTクイックアプリを開発したいと考えています。アプリにはいくつかの画面が必要です(申し訳ありませんが、適切な用語が何であるかわかりませんが、画面ではラズベリーの全画面を塗りつぶすアプリの状態を意味します)、これらの画面を切り替えるボタンが必要です。ボタンを押すと、別の画面にどのように切り替えることができますか?ラズベリーのQtQuickシンプルアプリ
私はローダーを使ってみましたが(今はラズベリーではなくデスクトップでテストしています)、qmlファイルを新しいウィンドウで開きますが、元のウィンドウの内容を置き換えたいと思います。
編集: はい、私はEGLFSを使用する予定です。私は原則として私が望むものを行ういくつかのコードを囲みます。これは、物事を行うには正しい方法であればしかし、私はわからない:私は自分のQMLファイルにしたい画面を入れて、ボタンを通じて私たちのマウス領域をその表示を切り替える:
main.qml
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.0
ApplicationWindow {
visible: true
width: 800
height: 460
title: qsTr("Hello World")
Page1 {
id: page1
visible: true
}
Page2 {
id: page2
visible: false
}
}
Page1.qml
import QtQuick 2.7
import QtQuick.Controls 2.0
Item {
Button {
id: button1
width: 200
height: 40
text: qsTr("To second page")
onClicked: {
page2.visible=true
page1.visible=false
}
}
}
Page2.qml
import QtQuick 2.3
import QtQuick.Window 2.2
Item {
Text {
id: text1
x: 181
y: 153
text: qsTr("Second Page")
font.pixelSize: 12
}
Rectangle {
id: rectangle
x: 252
y: 222
width: 200
height: 200
color: "#000000"
border.color: "#f12525"
}
MouseArea {
id: mouseArea
x: 234
y: 209
width: 244
height: 225
onClicked:{
page1.visible=true
page2.visible=false
}
}
}
あなたのコードを表示することもできますし、まず、デスクトップの後でラズベリーについて話し、両方でqtのバージョンを検討してください。通常は動作しますが、バージョンの問題ではラズベリーのすべてのコンポーネントを持つことはありません。 – eyllanesc
私はコードを投稿しませんでした。なぜなら、どのアプローチを取るべきかについて今は失われているからです。クイックコントロールを使用すると、StackViewのようなものがありますが、それは適切でしょうか?それとも、LoaderやStatesを使う方が簡単ですか? ラズベリーとデスクトップについて:アプリケーションはラズベリーで実行する必要がありますが、今はデスクトップで開発しています。私はちょうど私が持っていたローダーアプローチの1つの問題は、新しいウィンドウが開かれたということでしたので、それを言いましたが、ラズベリーでこれは異なる動作をするかもしれません。 – numberCruncher
あなたの質問は広範であり、あなたの質問を改善するためには[SO](https://stackoverflow.com/help/mcve)を読んでください。 – eyllanesc