QtQuick получить размеры базовой формы - PullRequest
0 голосов
/ 23 мая 2019

моя проблема очень проста, потому что я очень новичок в qml & qtquick: Я пытаюсь показать QtQuick TabView на всей геометрии окна, но ничего не появляется, Window / Form / Widget, я изо всех сил задаюсь вопросом, почему

    //main.cpp        
    #include <Qt3DQuickExtras/qt3dquickwindow.h>
    #include <QGuiApplication>
    #include <QScreen>

    int main(int argc, char **argv)
    {
        QGuiApplication app(argc, argv);

        Qt3DExtras::Quick::Qt3DQuickWindow view;
        view.setSource(QUrl("qrc:/qmain"));
        view.setWindowState(Qt::WindowMaximized);
        QScreen *s  = QGuiApplication::screens().at(0);
        view.setGeometry(s->availableGeometry());
        view.show();

        return app.exec();
     }
     /*=====
     qml file
     =====*/
     import QtQuick 2.3
     import QtQuick.Scene2D 2.9
     import QtQuick.Controls 1.4 as ctrl1
     import QtQuick.Layouts 1.2
     import QtQuick.Controls 2.5 as ctrl2

     Item {
        id: root
        visible: true
        anchors.fill: parent
        width: offscreenTexture.width
        height: offscreenTexture.height
        ctrl1.TabView{
            id: tabView
            anchors.left: parent
            ctrl1.Tab{
                id: tabPlanDef
                title: "Loadplan def."
            }
            ctrl1.Tab{
                id: tabObjMng
                title: "Object Manager"
            }
            ctrl1.Tab{
                id: tabDataTbl
                title: "Data Table"
            }
        }
     }

1 Ответ

0 голосов
/ 23 мая 2019

Ваш пример не является полным и воспроизводимым. Тем не менее, я, вероятно, решил вашу проблему.

  • Вы должны использовать более новую версию QtQuick.

    import QtQuick 2.11

  • Ctrl1 должен начинаться с заглавной буквы.

    import QtQuick.Controls 1.4 as Ctrl1

Полный код qml:

import QtQuick 2.11
import QtQuick.Window 2.11
import QtQuick.Scene2D 2.9
import QtQuick.Controls 1.4 as Ctrl1
import QtQuick.Layouts 1.2

Window {
    visible: true
    width: 640
    height: 480

    Item {
       id: root
       visible: true
       anchors.fill: parent
       Ctrl1.TabView{
           id: tabView
           anchors.fill: parent
           Ctrl1.Tab{
               id: tabPlanDef
               title: "Loadplan def."
           }
           Ctrl1.Tab{
               id: tabObjMng
               title: "Object Manager"
           }
           Ctrl1.Tab{
               id: tabDataTbl
               title: "Data Table"
           }
       }
    }
}
...