0

当我尝试执行此代码时,我有一个奇怪的行为让我很恼火:

import QtQuick 2.7
import QtQuick.Controls 2.0

ApplicationWindow {
    id: window
    visible: true
    width: 640
    height: 480

    Rectangle {
        color: "green"
        width: parent.width/2
        height: parent.height
        anchors.right : parent.right


        ComboBox {
            id:combo
            popup.visible: combo.activeFocus
            model: [ "Banana", "Apple", "Coconut" ]
        }

    }
    CheckBox {
        id:check
    }
}

如果我单击CheckBox ,然后单击ComboBoxComboBox.popup 将在 1 毫秒内出现然后消失。我不明白为什么,因为activeFocus = true

你知道为什么吗?

4

1 回答 1

2

如果您遵循导致它的事件链,则可以预料到这种行为:

  1. 你点击ComboBox
  2. ComboBox收益_activeFocus
  3. ComboBox.popup成为_visible
  4. 点击被处理,切换可见性 - >ComboBox变得不可见。

删除线

popup.visible: combo.activeFocus

你很好。

open()通过and控制可见性close()

于 2017-05-18T12:40:11.600 回答