qt4 - 横向模式损坏,显示不正确

标签 qt4 symbian qml nokia

大约一个月前,我开始了一个废弃的 Qt 应用程序的开发。它几乎完成了,但我正面临一个我无法修复的错误。 当我模拟应用程序时,一切正常,无论是纵向还是横向。但是,当我在运行 nokia belle refresh (Qt 4.8) 的诺基亚 E7-00 上安装该应用程序时,横向模式中断。 有什么解决办法吗? 我找到了 1 个描述类似问题的主题,但没有找到真正的解决方案。

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();

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
    }
}

最后一个文本对象用于测试目的,它按应有的方式旋转... 显示问题的图像:

(我无法嵌入图片,所以这是链接:http://i.stack.imgur.com/LXsxe.jpg)

左侧是模拟器结果,右侧是我的 E7 的截图。问题以红色圈出。

最佳答案

不确定是什么原因,但你的 main.qml 很奇怪...... PageStackWindow 已经是一个窗口,为什么你用另一个窗口包装它?尝试删除窗口并使用 PageStackWindow 作为 main.qm 中的顶层

(@Dickson 评论的答案)

关于qt4 - 横向模式损坏,显示不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13788988/

相关文章:

c++ - 在 QPlainTextEdit 中获取指向 QTextBlock 的指针

qt - 如果我多次连接相同的插槽,插槽会被多次调用吗?

qt - 在PyQt中覆盖QPaintEvents

c++ - ref 到 TBuf 的转换

java到C/C++(carbide c/c++)转换

QtQuick 矩形控件显示什么边框?

c++ - QRect 上的 Qt 正则表达式

c++ - 在 QML/QT 5.7 中的 C++ 列表中添加和删除项目

c++ - QTableView 在模型刷新后保留选择

android - 是否可以将 Android 移植到 Symbian 手机