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 相對於導航的絕對定位方式...