4

ボタンをクリックしながら別のQMLウィンドウを開くときにQMLウィンドウを非表示にする必要があります。ローダーを使用して別のQMLウィンドウを開き、QMLウィンドウではなくQMLフォームコンポーネントのみを非表示にしますが、現在ウィンドウコンポーネントを使用してQMLウィンドウを開きます

これが私のコードです:

Button {
        id: button2
        x: 19
        y: 54
        width: 114
        height: 25
        text: qsTr("DIFF-R")
        style: ButtonStyle {
            background: Rectangle {
                implicitWidth: 10
                implicitHeight: 25
                border.width: control.activeFocus ? 2 : 1
                border.color: "#555"
                radius: 10
                gradient: Gradient {
                    GradientStop { position: 0 ; color: control.pressed ? "#ddd" : "#fff" }
                    GradientStop { position: 1 ; color: control.pressed ? "#8ad993" : "#528dc8" }

                }
    }
}
        onClicked:{ 
                    /*pagesource.source="screen2.qml"
            button1.visible="false"
            button2.visible="false"
            text1.visible="false"
            text2.visible="false"
            text3.visible="false"
            text4.visible="false"
            textField1.visible="false"
            textField2.visible="false"
            textField3.visible="false"
            image1.visible="false"*/ 
            var component = Qt.createComponent("screen2.qml")
            var window    = component.createObject(root)
            window.show("screen2.qml") }

上記のコードは、ボタンがクリックされている間のみ QML ウィンドウをナビゲートしますが、QML ウィンドウを非表示にする必要があります。

4

1 に答える 1

3

メイン ウィンドウを非表示にすると、コードが表示されません。あなたのコードは問題について何も言っていないので、この記事を読んでください。

これは、ポップアップが表示されたときにメイン ウィンドウが非表示になる小さな例です。あなたにとって役に立つかもしれません。

Window {
    id: mainWindow
    title: "Main window"
    width: 600
    height: 600
    visible: true
    flags: Qt.Dialog
    modality: Qt.ApplicationModal

    Component {
        id:  popupWindow
        Window {
            title: "Popup window"
            width: 400
            height: 400
            visible: true
            flags: Qt.Dialog
            modality: Qt.ApplicationModal
            Text {
                anchors.centerIn: parent
                text: "Close me to show main window"
            }
        }
    }

    Button {
        anchors.centerIn: parent
        text: "Show popup window"
        onClicked: {
            var window = popupWindow.createObject(mainWindow);
            mainWindow.hide();
            conn.target = window;
        }
    }

    Connections {
        id: conn
        onVisibleChanged: {
            mainWindow.show();
        }
    }
}
于 2015-05-18T04:16:11.530 に答える