QML控件--Menu

这篇具有很好参考价值的文章主要介绍了QML控件--Menu。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、控件基本信息


二、控件使用

QML控件--Menu

import QtQuick 2.10
import QtQuick.Window 2.10
import QtQuick.Controls 2.3

ApplicationWindow{
    visible: true;
    width: 1280;
    height: 720;

    Button {
        id: fileButton
        text: "File"
        onClicked: menu.open()

        Menu {
            id: menu
            y: fileButton.height
            Action { text: "Cut" }
            Action { text: "Copy" }
            Action { text: "Paste" }

            MenuSeparator { }

            Menu {
                title: "Find/Replace"
                Action { text: "Find Next" }
                Action { text: "Find Previous" }
                Action { text: "Replace" }
            }
        }
    }

}


三、属性成员

1、cascade : bool

菜单是否级联其子菜单。默认值是特定于平台的。
非级联菜单一次显示一个菜单,并以父菜单为中心。
注意:在菜单打开时更改此属性的值无效。

2、contentData : list<Object>

内容数据列表;
该列表包含在 QML 中声明为菜单子项的所有对象,以及分别使用 addItem() 和 insertItem() 方法动态添加或插入的项目;
注意:与 contentChildren 不同,contentData 确实包含非可视 QML 对象。插入或移动项目时不会重新排序。

3、[read-only] contentModel : model

用于显示菜单项的模型;
提供内容模型用于可视化目的;它可以作为模型分配给呈现菜单内容的内容项;

Menu {
    id: menu
    contentItem: ListView {
        model: menu.contentModel
    }
}

4、[read-only] count : int

项目的数量

5、currentIndex : int

当前突出显示的项目的索引;菜单项可以通过鼠标悬停或键盘导航突出显示;

6、delegate : Component

用于创建项目以呈现动作的组件

7、focus : bool

弹出窗口是否需要焦点。默认为 false。
当弹出窗口实际获得焦点时,activeFocus 将为true。

8、overlap : real

菜单与其父菜单水平重叠的像素数量。默认值是特定于样式的;
该属性仅在菜单用作级联子菜单时才有效;
在菜单打开时更改属性的值无效

9、title : string

菜单的标题;
当菜单是子菜单时,菜单的标题通常显示在菜单项的文本中,而当它在菜单栏中时,则显示在工具按钮的文本中;


四、成员函数

1、菜单弹出函数

void popup(Item parent, real x, real y, MenuItem item = null)

void popup(real x, real y, MenuItem item = null)

在弹出窗口坐标系中的指定位置 x, y 处打开菜单,即相对于其父项的坐标。
菜单可以选择与特定菜单项对齐。

void popup(Item parent, point pos, MenuItem item = null)

void popup(point pos, MenuItem item = null)

在弹出窗口坐标系中的指定位置 pos 处打开菜单,即相对于其父项的坐标。
菜单可以选择与特定菜单项对齐。

void popup(Item parent, MenuItem item = null)

void popup(MenuItem item = null)

在鼠标光标处打开菜单,否则将菜单置于其父项的中心。
菜单可以选择与特定菜单项对齐。

2、Action actionAt(int index)

返回索引处的动作,如果索引无效或指定索引处没有操作,则返回 null;

3、void addAction(Action action)

将动作添加到此菜单的末尾;

4、void addItem(Item item)

将项目添加到项目列表的末尾

5、void addMenu(Menu menu)

将菜单作为子菜单添加到此菜单的末尾

6、void dismiss()

关闭此菜单所属的层次结构中的所有菜单;
注意:与仅关闭菜单及其子菜单的 close() 不同,dismiss() 关闭菜单的整个层次结构,包括父菜单;

7、void insertAction(int index, Action action)

在索引处插入动作。该索引位于菜单中的所有项目中;

8、void insertItem(int index, Item item)

在索引处插入项目;

9、void insertMenu(int index, Menu menu)

在索引处插入菜单作为子菜单。该索引位于菜单中的所有项目中;

10、Item itemAt(int index)

返回索引处的项目,如果不存在则返回 null;

11、Menu menuAt(int index)

返回索引处的子菜单,如果索引无效或指定索引处没有子菜单,则返回 null;

12、void moveItem(int from, int to)

将索引 from 处的项目移动到索引 to;

13、void removeAction(Action action)

删除并销毁指定的动作;

14、void removeItem(Item item)

移除并销毁指定的项目;

15、void removeMenu(Menu menu)

删除和销毁指定的菜单;

16、Action takeAction(int index)

删除并返回索引处的动作,该索引位于菜单中的所有项目中,动作的所有权转移给调用者;

17、MenuItem takeItem(int index)

删除并返回索引处的项目,项目的所有权转移给调用者;

18、Menu takeMenu(int index)

删除并返回 index 处的菜单,该索引位于菜单中的所有项目中,菜单的所有权转移给调用者文章来源地址https://www.toymoban.com/news/detail-411565.html

到了这里,关于QML控件--Menu的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qml学习——动态加载控件

    最近在学习Qml,但对Qml的各种用法都不太熟悉,总是会搞忘,所以写几篇文章对学习过程中的遇到的东西做一个记录。 学习参考视频:https://www.bilibili.com/video/BV1Ay4y1W7xd?p=1vd_source=0b527ff208c63f0b1150450fd7023fd8 其他文章: Qml学习——动态加载控件 Qml学习——控件状态 Qml学习——使

    2024年02月09日
    浏览(59)
  • qml用基础控件自定义柱状图

    本想用qtchart来做,但是用了一下发现限制太多不太满足需求,所以使用自定义的方式实现,支持图例数量变化,标签数量变化,值为0时不显示 内容过长可滑动查看 用的都是基础控件,思路是把一个标签中的每个柱子视为重复项,用repeater构建,把柱状图中每个标签的所有内容(柱子)整体

    2024年01月17日
    浏览(36)
  • QML Label控件怎么把文本居中

    可以使用Label控件的horizontalAlignment属性和verticalAlignment属性来实现将文本居中显示。 示例代码: 在上述示例中,我们将Label控件的horizontalAlignment属性设置为Text.AlignHCenter,将verticalAlignment属性设置为Text.AlignVCenter,这样文本即可水平居中和垂直居中显示。

    2024年02月16日
    浏览(44)
  • QML控件和对话框之ApplicationWindows

    Application Window在 Qt Quick Controls中类似于QMain Window 在 Qt/C++中的角色,ApplicationWindow可以充当应用程序顶层窗口,具有自己的布局,包含menuBar、toolBar、statusBar等属性,可以使用平台无关的方式方便地添加菜单栏、工具栏和状态栏等项目,该类型还包含一个contentltem属性,用来进

    2023年04月22日
    浏览(38)
  • 【QML】鼠标放在控件上颜色改变的效果实现

    最近刚好要用到一个功能,在qml上实现鼠标放上去,控件的颜色改变,鼠标移走,控件颜色恢复。第一反应是这个功能非常简单,但是搞了一会儿都没实现,最后发现MouseArea其实提供了一个很简便的方法来提供使用,这里做个记录: 效果图如下:

    2024年02月12日
    浏览(55)
  • Failed to resolve import “element-plus/es/el-sub-menu“ from “src\components\

    vue3+vite按需自动引入element plus报错 首先你需要安装unplugin-vue-components 和 unplugin-auto-import这两款插件 npm install -D unplugin-vue-components unplugin-auto-import 然后将按需自动引入中的代码插入你的vite的配置文件中 vite.config.js 复制代码,按照官网步骤添加引入element组件确发生报错 首先检

    2024年02月02日
    浏览(47)
  • 使用qtquick调用python程序,pytorch

    使用qtquick调用python程序 2.1vsCode 2.2Anaconda version: conda 22.9.0 2.3pytorch 安装pytorch() 2.4QT 5.14.1 新版QT6.4,,6.5在线安装经常失败,而5.9版本又无法编译64位程序,所以就采用5.14.1这个用的比较多也比较稳定的一个版本。 QT编译器采用的是MSVC2017 64bit。 链接:https://pan.baidu.com/s/1ER98DPA

    2024年02月02日
    浏览(55)
  • layui的基本使用-日期控件的业务场景使用入门实战案例一

    效果镇楼;       1 前端UI层面;   苟日新一刻钟总结反观:  2  那么业务场景的话,就没有那么简单了。首先就是解决方案里面可不止一个文件夹,是多个项目组成的解决方案。比如仓储层,Repository项目,业务层项目,Services,同时各自对应了各自的接口项目;Model 实体

    2024年02月13日
    浏览(35)
  • 在DevExpress的GridView的列中,使用RepositoryItemSearchLookUpEdit控件实现产品列表信息的展示和选择

    有时候,我们为了方便,我们往往使用扩展函数的代码方式创建很多GridView的操作功能,如在随笔《在DevExpress中使用BandedGridView表格实现多行表头的处理》中介绍过多行表头的创建及绑定处理,在《基于DevExpress的GridControl实现的一些界面处理功能》也介绍了一些特殊的展示效

    2024年02月07日
    浏览(37)
  • 面向对象编程 实验三 sduwh 子窗口与控件的基本用法、资源的使用 参考实验报告1

    源自网络收集,仅供参考 实验三收集到两份完整报告,这是其一,另一份见本专栏下一篇文章。 《面向对象程序设计》 实验三 实验题目:子窗口与控件的基本用法、资源的使用 整体目的:理解、窗口之间的消息传送、调用栈;掌握光标、图标、菜单的制作和使用方式;掌

    2024年02月07日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包