【问题标题】:How to make ComboBox to be open by default in QML如何使 ComboBox 在 QML 中默认打开
【发布时间】:2017-01-16 21:45:07
【问题描述】:

我正在使用 Qt 5.7 和 QtQuick.Controls 2.0。我想让我的ComboBox 默认打开。为此,我只需将popup.visible 设置为true,但不幸的是,我在控制台中收到以下错误:QML Popup: cannot find any window to open popup in.。单击我的 ComboBox 打开和关闭它就好了,没有任何错误消息。我什至尝试做Component.onCompleted: _popup.open(),其中_popup 是我的ComboBox 中我的Popup 组件的id,但出现了相同的错误消息。

编辑1(添加一个简单的例子):

ApplicationWindow {
  width: 200
  height: 200

  Item {
    anchor.fill: parent

    ComboBox {
      popup.visible: true
      model: ["First", "Second", "Third"]
    }
  }

【问题讨论】:

    标签: qt qml qtquick2 qt5.7


    【解决方案1】:

    更新到 Qt 5.7.1 为我解决了这个问题,感谢@BaCaRoZzo 的建议!

    编辑 1:

    我想补充一点,如果您收到消息QML Popup: cannot find any window to open popup in.,也可能由于 Popup 组件找不到它的父级而发生。例如,如果在 StateMachine 的 State 中创建 Popup,就会发生这种情况。在这种情况下,您必须显式设置 Popup 的 parent 属性!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-18
      • 2011-06-02
      • 1970-01-01
      • 1970-01-01
      • 2019-07-30
      • 1970-01-01
      • 2022-10-14
      相关资源
      最近更新 更多