Qt4 横向模式中断,显示不正确

Qt4 横向模式中断,显示不正确,qt4,symbian,qml,nokia,Qt4,Symbian,Qml,Nokia,大约一个月前,我开始为一个废弃的Qt应用程序开发。它几乎完成了,但我面临一个无法修复的bug。 当我模拟应用程序时,一切都很好,包括纵向和横向。但是,当我在运行诺基亚百丽刷新(Qt 4.8)的诺基亚E7-00上安装应用程序时,横向模式会中断。 有什么解决办法吗? 我发现有一个主题描述了类似的问题,但没有找到真正的解决方案 main.cpp中有关QmlApplicationViewer的代码: QScopedPointer<QmlApplicationViewer> tQmlAppli

大约一个月前,我开始为一个废弃的Qt应用程序开发。它几乎完成了,但我面临一个无法修复的bug。 当我模拟应用程序时,一切都很好,包括纵向和横向。但是,当我在运行诺基亚百丽刷新(Qt 4.8)的诺基亚E7-00上安装应用程序时,横向模式会中断。 有什么解决办法吗? 我发现有一个主题描述了类似的问题,但没有找到真正的解决方案

main.cpp中有关QmlApplicationViewer的代码:

QScopedPointer<QmlApplicationViewer> tQmlApplicationViewer(QmlApplicationViewer::create());
tQmlApplicationViewer->setResizeMode(QDeclarativeView::SizeRootObjectToView);

// Load the QML entrypoint
tQmlApplicationViewer->setMainQmlFile(QLatin1String("qml/BeTrains/main.qml"));

tQmlApplicationViewer->showFullScreen();
QScopedPointer tQmlApplicationViewer(QmlApplicationViewer::create());
tQmlApplicationViewer->setResizeMode(QDeclarativeView::SizerootObject视图);
//加载QML入口点
tQmlApplicationViewer->setMainQmlFile(QLatin1String(“qml/BeTrains/main.qml”);
tQmlApplicationViewer->showFullScreen();
main.qml中的代码

import QtQuick 1.1
import com.nokia.symbian 1.1
import com.nokia.extras 1.1
import "pages"
import "components"
import "js/utils.js" as Utils
import "js/storage.js" as Storage
import QtQuick 1.0

Window{
    id: window


    property string __schemaIdentification: "2"

    Component.onCompleted: {
        Storage.initialize()
    }

    //
    // Window structure
    //

    PageStackWindow {
        id: pagestackwindow1
        initialPage: mainPage
        showStatusBar: true
        showToolBar: true


        onRotationChanged: console.log("rotated!")
        Page {
            id: mainPage
           // orientationLock: PageOrientation.LockPortrait
            tools: toolBarLayout

             TabGroup {
                id: tabGroup
                currentTab: liveboardStack
                anchors.fill: parent

                PageStack {
                    id: liveboardStack
                    Component.onCompleted: liveboardStack.push(liveboardPage)
                }

                PageStack {
                    id: travelStack
                    Component.onCompleted: travelStack.push(travelPage)
                }


             }
        }

    }


    //
    // Toolbar
    //

    ToolBarLayout {
        id: toolBarLayout

        // Back buton
        ToolButton {
            property bool closeButton: tabGroup.currentTab.depth <= 1
            flat: true
            iconSource: closeButton ? "icons/close.svg" : "toolbar-back"
            onClicked: closeButton ? Qt.quit() : tabGroup.currentTab.pop();
        }

        // Tab bar

        ButtonRow {
            TabButton { id: tabBtnLiveboard; tab: liveboardStack; iconSource: "toolbar-list" }
            TabButton {id:tabBtnTravel;tab: travelStack; iconSource: "toolbar-search" }
        }

        // Menu
        ToolButton {
            iconSource: "toolbar-menu"
            onClicked: {
                if (!window.menu)
                    window.menu = Utils.loadObjectByComponent(menuComponent, window)
                window.menu.open()
            }
        }

    }


    //
    // Objects
    //

    // Statically loaded objects
    property variant liveboardPage: LiveboardPage {}
    property variant travelPage: TravelPage {}

    // Dynamically loaded objects
    property variant aboutDialog

    // In-line defined menu component
    property variant menu
    Component {
        id: menuComponent

        Menu {
            id: menu
            content: MenuLayout {
                // About
                MenuItem {
                    text: qsTr("About")
                    onClicked: {
                        if (!aboutDialog)
                            aboutDialog = Utils.loadObjectByPath("components/AboutDialog.qml", menu)
                        aboutDialog.open()
                    }
                }

                // Quit
                MenuItem {
                    text: qsTr("Quit")
                    onClicked: Qt.quit()
                }
            }
        }
    }

    Text {
        id: statustext
        x: 2
        y: 2
        width: 230
        height: 22
        color: "#ffffff"
        text: qsTr("BeTrains")
        font.pixelSize: 20
    }
}
导入QtQuick 1.1
导入com.nokia.symbian 1.1
导入com.nokia.extras 1.1
导入“页面”
导入“组件”
将“js/utils.js”作为utils导入
将“js/storage.js”作为存储导入
导入QtQuick 1.0
窗口{
id:窗口
属性字符串\uuu schemaIdentification:“2”
Component.onCompleted:{
Storage.initialize()
}
//
//窗口结构
//
页面堆栈窗口{
id:pagestackwindow1
初始页:主页
showStatusBar:真
showToolBar:true
onRotationChanged:console.log(“rotated!”)
页面{
id:主页
//方向锁定:PageOrientation.LockPortrait
工具:工具栏布局
TabGroup{
id:tabGroup
currentTab:liveboardStack
锚定。填充:父级
页面堆栈{
id:liveboardStack
completed:liveboardStack.push(liveboardPage)
}
页面堆栈{
id:travelStack
Component.onCompleted:travelStack.push(travelPage)
}
}
}
}
//
//工具栏
//
工具栏布局{
id:工具栏布局
//背布顿
工具按钮{

属性bool closeButton:tabGroup.currentTab.depth不确定原因是什么,但您的main.qml很奇怪…PageStackWindow已经是一个窗口,为什么要用另一个窗口将其包装?请尝试删除该窗口并将PageStackWindow用作main.qm中的顶层


(答案由@Dickson评论)

不确定原因是什么,但您的main.qml很奇怪…PageStackWindow已经是一个窗口,为什么要用另一个窗口将其包装?请尝试删除该窗口并将PageStackWindow用作main中的顶层。qml@Dickson我试过了,只做了一些小的调整就把它修好了!谢谢你的帮助!我再也没有注意到这一点了,因为一直都是这样,因为当我继续应用程序时,原始开发人员需要这个组件。onCompleted。顺便说一句,这是固定的,但我不能将您的答案标记为已回答?@Bertware您不能接受答案,因为它不是答案,而是注释。Dickson应该复制粘贴它作为答案,当然您可以自己做,然后接受您自己的答案,将问题标记为已回答。