2016-12-11 1 views
0

Ich bin relativ neu OS Programmierung Segelfisch und während der Verwendung der silicaFlickable für die Eröffnung neue Seite je nach Option durch den Benutzer zur Verfügung gestellt: output of multiple screensPagestack.push() Probleme

Ich sehe Ausgabe mehrerer Bildschirm und nicht in der Lage ist zu finden alles, was die Hilfe in der Dokumentation von qt interessiert. Mein Code ist:

ApplicationWindow 
 
{ 
 
    id: mainPage 
 
    SilicaFlickable{ 
 
     anchors.fill: parent 
 
     PullDownMenu { 
 
      id:pullDownMenu 
 
      MenuItem{ 
 
       id: decimalTo 
 
       text: qsTr("Decimal") 
 
       onClicked: pageStack.push(Qt.resolvedUrl("./pages/Decimal.qml")) 
 
      } 
 
      MenuItem{ 
 
       id:binaryTo 
 
       text: qsTr("Binary") 
 
       onClicked: pageStack.push(Qt.resolvedUrl("./pages/Binary.qml")) 
 
      } 
 
     } 
 
     /*cover: Qt.resolvedUrl("cover/CoverPage.qml") 
 
     allowedOrientations: defaultAllowedOrientations*/ 
 
     Column{ 
 
      anchors.fill: parent 
 
      anchors.margins: Theme.paddingLarge 
 
      spacing: Theme.paddingLarge 
 
      PageHeader{ 
 
       title: "Number system convertor" 
 
      } 
 
      Label 
 
      { 
 
       width: parent.width 
 
       anchors.leftMargin: Theme.paddingLarge 
 
       anchors.rightMargin: Theme.paddingLarge 
 
       horizontalAlignment: Text.AlignHCenter 
 
       wrapMode: Text.WrapAtWordBoundaryOrAnywhere 
 
       textFormat: Text.RichText 
 
       text: "Please select the input number system from the flickable menu. Pull down to see the options." 
 

 
      } 
 
     } 
 
    } 
 
}

Die dezimal oder die binäre Seite, die nur der Standard firstpage.qml und secondpage.qml ist zur Zeit öffnet, die generiert werden, wenn wir ein neues Projekt zu machen. Jede Hilfe wird geschätzt. PS: Ich starte die Codierung nach langer Zeit neu und das ist meine erste App.

Antwort

0

Sie sollten versuchen, die innere von ApplicationWindow in einem Page-Objekt zu wickeln:

ApplicationWindow { 
    Page { 
    id: mainPage 
    SilicaFlickable { 
     ... 
    } 
    } 
} 

Aber normalerweise würde man etw wie

// myApplication.qml 
import QtQuick 2.0 
import Sailfish.Silica 1.0 

ApplicationWindow { 
    id: mainWindow 
    initialPage: Qt.resolvedUrl("MainPage.qml") 
} 

// MainPage.qml 
import QtQuick 2.0 
import Sailfish.Silica 1.0 

Page { 
    id: mainPage 
    .... 
} 
tun