我是QT的新手,並且希望爲樹莓派及其觸摸液晶顯示器開發QT Quick應用程序。該應用程序應該有幾個屏幕(對不起,不知道什麼是正確的術語,屏幕我的意思是填充樹莓派的整個顯示的應用程序的狀態),應該有按鈕來切換這些屏幕。當我按下按鈕時,如何切換到不同的屏幕?QtQuick樹莓簡單應用程序
我試過使用loader但是(現在我在桌面上測試而不是覆盆子)它在新窗口中打開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? 關於樹莓和桌面:最終,應用程序應運行在樹莓上,但現在我正在桌面上開發。我剛剛提到它,因爲我使用的加載器方法存在的一個問題是打開了新窗口,但在樹莓上這可能會有不同的表現。 – numberCruncher
你的問題是廣泛的,這是脫離主題,閱讀[this](https://stackoverflow.com/help/mcve)來改善你的問題。 – eyllanesc