Почему меню QML не закрывается при внешнем нажатии при задании идентификатора в QQuickWidget?

#qt #qml #qtquick2 #qtquickcontrols2

#qt #qml #qtquick2 #qtquickcontrols2

Вопрос:

У меня есть ComboBox пользовательское Menu всплывающее окно, которое отображается на a QQuickWidget . Когда Menu задается id свойство, я не могу закрыть его при внешнем нажатии, независимо от того, что closePolicy я установил.

main.qml

 import QtQuick.Controls 2.0

ComboBox {
    popup: Menu {
        id: menu    //comment this line and menu will behave normally
//        closePolicy: Popup.CloseOnPressOutside  //this doesn't seem to have any effect
    }
}
  

main.cpp:

 #include <QApplication>
#include <QQuickWidget>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QQuickWidget *quickWidget = new QQuickWidget;
    quickWidget->setSource(QUrl("qrc:/main.qml"));
    quickWidget->show();
    return a.exec();
}
  

Я тестировал на Qt 5.14.2 и 5.13.1 MSVC2017. Любая помощь была бы весьма признательна.

Комментарии:

1. В качестве примечания, документы действительно предлагают избегать указания id стилей элементов управления, но не по этой причине.

2. @JarMan отметил, спасибо за понимание