自学内容网 自学内容网

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.15

ApplicationWindow {
    visible: true
    width: 640
    height: 480
    title: "Menu Example"

    // 背景矩形,增加视觉效果
    Rectangle {
        anchors.fill: parent
        color: "#F0F0F0"

        // 标签
        Label {
            id:_Label
            anchors.centerIn: parent
            text: "我是一个标签"
            font.pixelSize: 24
            font.bold: true
            horizontalAlignment: Text.AlignHCenter
            color: "#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 : aboutDialog
            title : "About"
            modal : true
            implicitWidth:300
            implicitHeight: 300
            standardButtons : Dialog.Ok

            contentItem : Column {
                spacing : 10
                padding : 10

                Label {
                    text : "菜单示例应用程序"
                    wrapMode : Text.WordWrap
                }
            }
        }
     }
}


原文地址:https://blog.csdn.net/qq_48597462/article/details/143632021

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!