两步:
1,到处Widget到qml里:mView->rootContext()->setContextProperty(“mainWidget”, mTopLevel);
2,加上MouseArea处理:
[table]
[tr][td]+ MouseArea { [/td] [/tr]
[tr] [td] + anchors.fill: parent [/td] [/tr]
[tr] [td] + property variant previousPosition [/td] [/tr]
[tr] [td] + onPressed: { [/td] [/tr]
[tr] [td] + previousPosition = Qt.point(mouseX, mouseY) [/td] [/tr]
[tr] [td] + } [/td] [/tr]
[tr] [td] + onPositionChanged: { [/td] [/tr]
[tr] [td] + if (pressedButtons == Qt.LeftButton) { [/td] [/tr]
[tr] [td] + var dx = mouseX - previousPosition.x [/td] [/tr]
[tr] [td] + var dy = mouseY - previousPosition.y [/td] [/tr]
[tr] [td] + mainWidget.pos = Qt.point(mainWidget.pos.x + dx, [/td] [/tr]
[tr] [td] + mainWidget.pos.y + dy) [/td] [/tr]
[tr] [td] + } [/td] [/tr]
[tr] [td] + } [/td] [/tr]
[tr] [td] + }[/td][/tr]
[/table]
具体见:
https://github.com/lenky0401/fcitx-qimpanel/commit/1b4da5fa13ba84330319533a4af34c146eea3ff4