【问题标题】:Create new window using QML使用 QML 创建新窗口
【发布时间】:2014-01-15 10:46:58
【问题描述】:
  MouseArea {
                anchors.fill: parent
                hoverEnabled: true
                         acceptedButtons: Qt.LeftButton | Qt.RightButton
                         onEntered: Function.call(somefunc())
                         onExited: console.log("Mouse Exited");
                onClicked: {
                    Qt.quit();
                }
            }

当我的鼠标进入鼠标区域时,如何使用函数 somefunc() 创建一个新窗口。是否可以?
我找不到任何方法将 C++ 文件集成到 Qt 中,以便我可以使用该函数创建一个新窗口。

【问题讨论】:

标签: qt window qml


【解决方案1】:

是的,有可能实现您想要的。 C++ 和 QML 可以在某些方面协同工作,但它们(据我所知)都不涉及将 C++ 代码嵌入到 QML 代码中。 在继续之前,我建议您问自己以下问题:

  1. 为什么不在 QML 中定义窗口本身?
  2. 为什么不在 JavaScript 中定义 somefunc(),您可以在 QML 文件中使用这种语言。

【讨论】:

    【解决方案2】:

    甚至可以从 Qml 或 C++ 创建一个新窗口,但在 Qml 中最简单,您可以声明包含 qml 元素的 Component 元素(如何显示弹出窗口,但窗口的功能非常有限)或创建一个窗口元素,请阅读:

    How can I create a new window from within QML?

    还有这个:http://qt-project.org/doc/qt-4.8/qdeclarativedynamicobjects.html,也许这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多