提供一种行云设计风格的 Menu 控件. 
Menu 控件大多被用于应用菜单,例如功能菜单、右键菜单等。 DTK 实现的菜单 比原有样式的菜单更流畅;更定制化,它能够兼容 Menu 的所有接口,并且能够做 到内部的 MenuItem 自动适配菜单的宽高。
 除此之外,Menu 还支持添加头部控件和尾部控件,当需要添加自定义搜索内容时, 头部控件可以添加 SearchEdit 来实现。
 Menu 的最大项目个数在 DTK 的设计中是 16,当超过该数值时,Menu 会出现 滚动选项,同时 菜单的上部和下部会出现上下移动的按钮,鼠标放置时可自动进行移动。
 Menu 的基本用于如下代码所示:
 
    Menu { title: qsTr(
"自定义")}
 
}
  如上代码, Menu 内部控件需要使用 Menu、MenuItem 或者 MenuSeparator,其中 MenuItem 用 来显示实际的菜单项,包含图表和文本, MenuSeparator 用来显示菜单中的分隔符。在菜单中内部的 子菜单,可以使用 Menu 叠加的方式完成。
 对于自定义头部控件,这里使用一个 SearchEdit 的示例表示:
 
    id: searchAndArrowMenu
    width: 160
        placeholder: qsTr("搜索")
        onTextChanged: {
            proxyModel.filterText = text
            proxyModel.update()
        }
    }
    model: ObjectModelProxy {
 
        id: proxyModel
        property string filterText
        filterAcceptsItem: function(item) {
            return item.text.includes(filterText)
        }
        sourceModel: searchAndArrowMenu.contentModel
    }
 
    MenuItem { text: qsTr(
"Cyrillic (ISO 8859-5)") }
 
    MenuItem { text: qsTr(
"Cyrillic(KOI8-R)") }
 
    MenuItem { text: qsTr(
"Devanagari(x-mac-davanagari)") }
 
    MenuItem { text: qsTr(
"Gurmukhi(x-mac-gurmukhi)") }
 
    MenuItem { text: qsTr(
"Thai (ISO 8859-11)") }
 
    MenuItem { text: qsTr(
"Simplified Chinese(x-mac-sim-chinese)") }
 
    MenuItem { text: qsTr(
"Chinese(GBK)"); checked: 
true}
 
    MenuItem { text: qsTr(
"Chinese(GB 18030)") }
 
    MenuItem { text: qsTr(
"Chinese(ISO 2022-CN)") }
 
    MenuItem { text: qsTr(
"Simplified Chinese (GB2312)") }
 
    MenuItem { text: qsTr(
"Tibetan (x-mac-tibetan)") }
 
    MenuItem { text: qsTr(
"Central European(ISO Latin 2)") }
 
    MenuItem { text: qsTr(
"Central Eu 188 opx(ISO Latin 4)") }
 
    MenuItem { text: qsTr(
"Baltic (ISO Latin 7)") }
 
}
Definition SearchEdit.qml:8