qml组合框项目选择关闭动态窗口

时间:2015-09-26 21:19:29

标签: c++ qml qtquick2

我有一个MainForm.ui,一个按钮和一个插槽连接到来自C ++端的信号。简化示例:

// main.qml
import QtQuick 2.5
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
Window {
    visible: true
    width:430
    height:100
    id:mainWindow
    MainForm {

    }
}

// MainForm.ui.qml
import QtQuick 2.5
import QtQuick.Window 2.2
import QtQuick.Controls 1.4

Rectangle {
    id: mainForm
    width: 800
    height: 400
    visible: true


    Button {
        text: "Hey"
        onClicked: {
            var component = Qt.createComponent("SecondForm.qml");
            if (component.status === Component.Error) {
                print(component.errorString())
                return;
            }

            var win = component.createObject(mainWindow);
            win.show();
            mainWindow.hide();
        }
    }
}

收到信号后,我创建一个SecondForm并隐藏主要信号。 在SecondForm上我有一个标签和一个组合框:

 // SecondForm.qml

import QtQuick 2.5
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
import QtQuick.Layouts 1.1
import QtQuick.Dialogs 1.2

Window {
    id:secondId
    width: 800
    height: 480
    title: "Second"

    TabView {
        id:tabview
        anchors.fill: parent
        anchors.margins: 5

        Tab {
            id:tab1
            ComboBox {
                model: [ "item1", "item2", "item3", "item4" ]
            }
        }
    }
}

但是当我选择组合框中的任何项目时,应用程序关闭甚至没有崩溃消息。如果我将组合框放在第一个(主要)形式上,它就能很好地工作。为什么选择动态组件上的组合框项会导致关闭? (Win7 64,qt5.6 alfa 32bit,vs2015)

0 个答案:

没有答案