QML彈出多級選單

2021-09-25 15:33:51 字數 2025 閱讀 7142

qml中的彈出多級選單,可以用於右鍵彈出,也可以在menubar中新增,用法是一樣的。本文以右鍵彈出多級選單為例,例項演示如何使用qml中的多級選單,以及自定義選單的樣式。

我們要呼叫的rightpopupmenu元件,在使用時,參照main.qml中的用法

import qtquick 2.5

import qtquick.window 2.2

window

mousearea }}

}

以下是各qml詳細的**:

rightpopupmenu.qml

import qtquick 2.5

import qtquick.controls 2.5

menu

} action

} custommenuseparator

action

custommenuseparator

insertsubmenu

modifysubmenu

custommenuseparator

action

delegate: menudelegate

//注意這裡的delegate不能為某個component

background: menubg

}

定義選單的背景menubg.qml:

import qtquick 2.5

rectangle

定義選單樣式的delegate檔案:

menudelegate.qml

import qtquick 2.5

import qtquick.controls 2.5

menuitem

) contentitem: text

arrow: image

background: rectangle

}

定義分割線樣式custommenuseparator.qml

import qtquick 2.5

import qtquick.controls 2.5

menuseparator

}

插入二級選單insertsubmenu.qml

import qtquick 2.5

import qtquick.controls 2.5

menu

action }}

action }}

action }}

delegate: menudelegate

background: menubg

}

二級選單modifysubmenu.qml

import qtquick 2.5

import qtquick.controls 2.5

menu

modifylensubmenu

action

} action

} delegate: menudelegate

background: menubg

}

**選單modifylensubmenu.qml

import qtquick 2.5

import qtquick.controls 2.5

menu

action

} action

} delegate: menudelegate

background: menubg

}

資源檔案,下面的小三角,右鍵另存為即可。

執行效果圖:

完整的demo我已經上傳到github上,位址

python 多級選單 python多級選單

該樓層疑似違規已被系統摺疊 隱藏此樓檢視此樓 dic china 直轄市 北京市 東城區 西城區 崇文區 宣武區 朝陽區 海淀區 豐台區 石景山區 門頭溝區 房山區 通州區 順義區 昌平區 大興區 懷柔區 平谷區 延慶縣 密雲縣 省 浙江省 杭州市 拱墅區 上城區 下城區 江乾區 西湖區 濱江區 蕭...

NGUI 彈出式多級選單(自主研發)

利用ngui play tween 元件和tween scale元件能控制物體的開啟與關閉,再在相應面板新增table元件從而實現排序功能。需要注意的是tween scale 元件需要更新上級的table原始元件只更新父物體的table,但由於頁面組織形式相對複雜,需要改寫ngui的 tween s...

縱向下拉及多級彈出式選單

參考 blog 搖滾 純 古典金曲 電影原聲 為了實現導航中的子導航與主導航在實現滑鼠互動的同時,保持其相對位置一致,我們使用了對ul li 使用了position relative 使其定位方式轉為相對定位。而對li ul 即子導航採用了position absolute 相對於導航的絕對定位方式...