使用返回键关闭MessageDialog

时间:2015-08-24 15:57:06

标签: android qt qml qtquick2

使用Qt for Android我创建了一个MessageDialog并在信号

上打开它
onClicked: myDialog.open()

不幸的是,按后退键并不会关闭对话框。 Dialog不会从Item继承,因此我无法将其focus设置为trueKeys也不可用。

编辑:示例

main.qml

import QtQuick 2.2
import QtQuick.Controls 1.0

ApplicationWindow
{
    id: appWindow

    width: 480
    height: 640
    visible: true

    StackView
    {
        id: stackView
        anchors.fill: parent
        // Implements back key navigation
        focus: true

        initialItem: FirstPage
        {
            width: parent.width
            height: parent.height
        }

        Keys.onBackPressed: pop()
    }
}

FirstPage.qml:

import QtQuick 2.0
import QtQuick.Controls 1.0
import QtQuick.Layouts 1.0

Item
{
    ColumnLayout
    {
        anchors.fill: parent
        spacing: 20

        Button
        {
            text: qsTr("Doing nothing")
            onClicked: console.log("FIXME")
        }

        Button
        {
            text: qsTr("Open dialog")
            onClicked: mydialog.open()
        }

    }

    MyDialog { id: mydialog }
}

MyDialog.qml:

import QtQuick 2.0
import QtQuick.Dialogs 1.1

MessageDialog
{
    informativeText: qsTr("blablabla")
    standardButtons: StandardButton.Yes | StandardButton.No
}

0 个答案:

没有答案