当前位置: 首页 > news >正文

QML:Menu详细使用方法

目录

一.性质

二.作用

三.方法

四.使用

1.改变标签

2.打开本地文件

3.退出程序

4.打开Dialog

五.效果

六.代码


在 QML 中,Menu 是一个用于创建下拉菜单或上下文菜单的控件。它通常由多个 MenuItem 组成,每个 MenuItem 可以包含文本、图标和快捷键,并且可以响应用户的点击事件。

一.性质

  • 继承自 PopupMenu 继承自 Popup,这意味着它可以作为一个弹出式控件使用。
  • 组成元素Menu 由多个 Action 组成,这些 Action 可以是 QActionQMenu 或其他可点击的项。
  • 信号槽机制Menu 支持信号槽机制,当某个 Action 被触发时,可以执行相应的函数。

二.作用

  • 提供用户界面元素Menu 提供了一种标准的方式来组织和显示应用程序的功能选项,使用户能够通过菜单访问不同的操作。
  • 增强用户体验:通过使用菜单,用户可以更容易地导航和使用应用程序,因为它提供了一种直观的方式来分组和访问相关功能。
  • 实现上下文菜单Menu 可以用作上下文菜单,即在用户右键单击某个项目时显示的菜单,这为用户提供了快速访问常用功能的便利。

三.方法

  1. Action actionAt(int index):

    作用:返回指定索引处的 Action 对象。如果索引无效,则返回 null
  2. void addAction(Action action):

    作用:将一个 Action 添加到菜单的末尾。
  3. void addItem(Item item):

    作用:将一个 Item 添加到菜单的末尾。
  4. void addMenu(Menu menu):

    作用:将一个子菜单添加到菜单的末尾。
  5. void dismiss():

    作用:关闭菜单。
  6. void insertAction(int index, Action action):

    作用:在指定索引处插入一个 Action
  7. void insertItem(int index, Item item):

    作用:在指定索引处插入一个 Item
  8. void insertMenu(int index, Menu menu):

    作用:在指定索引处插入一个子菜单。
  9. Item itemAt(int index):

    作用:返回指定索引处的 Item 对象。如果索引无效,则返回 null
  10. Menu menuAt(int index):

    作用:返回指定索引处的子菜单。如果索引无效,则返回 null
  11. void moveItem(int from, int to):

    作用:将一个 Item 从当前位置移动到新的位置。
  12. void popup(real x, real y, MenuItem item):

    作用:在指定的屏幕坐标 (x, y) 处弹出菜单,并关联到指定的 MenuItem
  13. void popup(Item parent, real x, real y, MenuItem item):

    作用:在指定的父项和屏幕坐标 (x, y) 处弹出菜单,并关联到指定的 MenuItem
  14. void popup(point pos, MenuItem item):

    作用:在指定的点 pos 处弹出菜单,并关联到指定的 MenuItem
  15. void popup(Item parent, point pos, MenuItem item):

    作用:在指定的父项和点 pos 处弹出菜单,并关联到指定的 MenuItem
  16. void popup(MenuItem item):

    作用:在默认位置弹出菜单,并关联到指定的 MenuItem
  17. void popup(Item parent, MenuItem item):

    作用:在默认位置弹出菜单,并关联到指定的 MenuItem,同时指定父项。
  18. void removeAction(Action action):

    作用:从菜单中移除指定的 Action
  19. void removeItem(Item item):

    作用:从菜单中移除指定的 Item
  20. void removeMenu(Menu menu):

    • 作用:从菜单中移除指定的子菜单。
  21. Action takeAction(int index):

    • 作用:移除并返回指定索引处的 Action。如果索引无效,则返回 null
  22. MenuItem takeItem(int index):

    • 作用:移除并返回指定索引处的 Item。如果索引无效,则返回 null
  23. Menu takeMenu(int index):

    • 作用:移除并返回指定索引处的子菜单。如果索引无效,则返回 null

四.使用

1.改变标签

2.打开本地文件

3.退出程序

4.打开Dialog

五.效果

六.代码

import QtQuick 2.15
import QtQuick.Controls 2.15ApplicationWindow {visible: truewidth: 640height: 480title: "Menu Example"// 背景矩形,增加视觉效果Rectangle {anchors.fill: parentcolor: "#F0F0F0"// 标签Label {id:_Labelanchors.centerIn: parenttext: "我是一个标签"font.pixelSize: 24font.bold: truehorizontalAlignment: Text.AlignHCentercolor: "#333333"}// 创建一个主菜单按钮MenuBar {Menu {title: "File"Action {text: "New"onTriggered: {_Label.text = "New"}}Action {text: "Open"onTriggered: {var folderPath = "file:///C:";Qt.openUrlExternally(folderPath);}}Action {text: "Exit"onTriggered: Qt.quit()}}Menu {title:"Help"Action {text:"About"onTriggered:{aboutDialog.open() // 打开关于对话框。}}}}Dialog {   // 添加一个关于对话框id : aboutDialogtitle : "About"modal : trueimplicitWidth:300implicitHeight: 300standardButtons : Dialog.OkcontentItem : Column {spacing : 10padding : 10Label {text : "菜单示例应用程序"wrapMode : Text.WordWrap}}}}
}

http://www.lryc.cn/news/480158.html

相关文章:

  • 时间复杂度和空间复杂度 part2
  • 【电机控制器】STC8H1K芯片——UART串口通信
  • STM32移植RT-Thread---时钟管理
  • Jasypt 实现 yml 配置加密
  • uniapp—android原生插件开发(2原生插件开发)
  • NLP之ASR之moonshine:moonshine的简介、安装和使用方法、案例应用之详细攻略
  • albert模型实现微信公众号虚假新闻分类
  • OceanBase 应用实践:如何处理数据空洞,降低存储空间
  • 计算机的错误计算(一百四十八)
  • MySQL记录锁、间隙锁、临键锁(Next-Key Locks)详解
  • SLM401A系列42V商业照明线性恒流芯片 线性照明调光在LED模组及灯带智能球泡灯上应用
  • 京东零售推荐系统可解释能力详解
  • 蓝桥杯 懒洋洋字符串--字符串读入
  • SDL打开YUV视频
  • 微服务架构面试内容整理-Archaius
  • 实现 Nuxt3 预览PDF文件
  • udp为什么会比tcp 有更低的延迟
  • 基于java+SpringBoot+Vue的洗衣店订单管理系统设计与实现
  • HarmonyOS-消息推送
  • 数据分析:宏基因组DESeq2差异分析筛选差异物种
  • 出海企业如何借助云计算平台实现多区域部署?
  • 硬件---1电路设计安全要点以及欧姆定律
  • Linux如何更优质调节系统性能
  • 第三十五章 Vue路由进阶之声明式导航(跳转传参)
  • python爬虫自动库DrissionPage保存网页快照mhtml/pdf/全局截图/打印机另存pdf
  • 基于毫米波雷达和TinyML的车内检测、定位与分类
  • 小E的射击训练
  • React的概念以及发展前景如何?
  • PDF生成:全面解析,C# 如何使用iTextSharp库(或其他类似库)生成PDF文档,包括如何将位图图像嵌入PDF中。
  • 如何选择最适合的消息队列?详解 Kafka、RocketMQ、RabbitMQ 的使用场景