QML - 通过点击事件显示菜单栏或菜单项

Posted

技术标签:

【中文标题】QML - 通过点击事件显示菜单栏或菜单项【英文标题】:QML - Show MenuBar or Menu items by click event 【发布时间】:2015-05-13 22:54:10 【问题描述】:

有没有办法通过任何控件(或任何其他事件)的onClicked 事件显示MenuBarMenuItem?我尝试使用菜单的popup 功能,但它什么也没做。目的是在 android 应用程序构建中重新实现 ApplicationWindow 中的菜单按钮,使其看起来与当前菜单按钮不同,或者通过单击任何其他小部件来弹出任何其他菜单来使用它。我学习 QML 大约 3 周,有人可以帮助我吗?我认为它应该很容易,我想让它更简单和合乎逻辑。感谢任何代码示例。

【问题讨论】:

this solution 是否适用于您的用例?您可以轻松更改触发MenuBar 的事件。 您好,马上查看 是的,这是真的,但我被误解了我的主要目的,实际上我需要另一件事,只是发布了我自己问题的答案 【参考方案1】:

看来我的问题方向是错误的。刚刚明白我需要显示Menu 并且使用popup 函数真的很容易完成。例如 QtQuick 项目的标准模板,带有 Button 以显示指定菜单。

Menu 
    id: menuFile
    title: qsTr("&File")
    MenuItem 
        text: qsTr("&Open")
        onTriggered: messageDialog.show(qsTr("Open action triggered"));
    
    MenuItem 
        text: qsTr("E&xit")
        onTriggered: Qt.quit();
    


Button
    onClicked: menuFile.popup()

但我已经尝试向MenuBar 显示所有列出的菜单,它确实需要另一种功能方式。

【讨论】:

好吧,看了你的问题,我被文字骗了。我很高兴你解决了你的问题。 :)

以上是关于QML - 通过点击事件显示菜单栏或菜单项的主要内容,如果未能解决你的问题,请参考以下文章

菜单中点击事件的问题

如何使用列表在每个上下文菜单项上添加点击事件?

C#.NET中如何设置CONTEXTMENU菜单项的点击事件

处理菜单项点击事件 - Android

初探ant-design(web版本二)

如何使用c#从其他形式的菜单项中显示月历上的当前日期