2014-01-15 3 views
0
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, чтобы я мог использовать эту функцию для создания нового окна.Создать новое окно с помощью QML

+0

Как насчет http://qt-project.org/forums/viewthread/30689? – Kakadu

ответ

1

Да, вы можете достичь того, чего хотите. C++ и QML могут работать совместно, но ни один из них (насколько мне известно) не включает вложение кода C++ в QML-код. Перед тем, как идти вперед, я рекомендую вам задать вопрос:

  1. Почему бы не определить само окно в QML?
  2. Почему бы не определить somefunc() в JavaScript, язык, который вы можете использовать в вашем файле QML.
0

Можно создать новое окно даже с QML или C++, но в QML является самым простым, вы можете объявить элемент компонента, содержащий элемент QML (как показывает всплывающий но функциональность как окно очень ограничено) или создать элемент окна, прочитать:

How can I create a new window from within QML?

И это: http://qt-project.org/doc/qt-4.8/qdeclarativedynamicobjects.html, может быть, это может помочь.

Смежные вопросы