2016-02-19 47 views
0

包含文本字段的典型android应用程序会将复制/猫按钮添加到其AppBar中以执行此操作。 用QML做这件事的最佳做法是什么?具有复制/剪切按钮的QML AppBar

我应该写我自己的文本字段小部件,它知道应用程序栏并告诉它什么时候显示复制/剪切按钮? 应用程序栏如何知道应在哪个文本字段执行操作?文本字段应该将自己注册为活动文本字段?

回答

1

你可以有一个property TextField activeField : null把你的根窗口,因此它可以从每一个子元素, 得到解决,并在每个TextField你可以有一个onActiveFocusChanged: activeField = activeFocus ? thisTextField : null

这样,无论文本字段当前处于活动状态,都将被分配到activeField,因此您可以使用 - if (activeField) activeField.paste(),只有在activeField != null时才可以设置复制/粘贴按钮。

至于工具栏 - 如果您使用QML ApplicationWindow它有一个内置的工具栏,您可以直接使用,否则随时可以实现您的自定义工具栏 - 这很容易。