【问题标题】:QML : Link MenuBar and ToolBar actionsQML:链接菜单栏和工具栏操作
【发布时间】:2014-03-29 19:33:57
【问题描述】:

我对 Qt Quick(和一般的 Qt)还很陌生,我想就“好方法”提出建议。

在一个应用程序中,如果我有一个菜单栏和工具栏有共同的动作,有没有办法链接菜单栏的按钮和工具栏的按钮?

例如,如果我有一个“保存”功能。此操作可通过菜单栏和工具栏进行。我怎样才能使这个动作相互化?

目前,我发现最好的方法是创建一个由两个按钮调用的函数“保存”。

【问题讨论】:

  • 和 C++ 一样,你应该让它们发出信号,你要么连接到保存功能,要么在它们的父级上为两者都设置onTriggered。但是仅仅调用一个函数在 QML 中并没有那么不好,如果您需要更灵活地重用组件,您可以稍后更改它。

标签: c++ qt qml qtquick2 qtquickcontrols


【解决方案1】:

我实际上在 QML 示例中找到了解决此问题的“好习惯”:使用操作项。

例如:

FileDialog {
    id: openDialog
    onAccepted: myData.source= fileUrl
}

Action {
    id: openFile
    iconSource: "images/fileopen.png"
    text: "Open"
    onTriggered: openDialog.open()
}

menuBar: MenuBar {
    Menu {
       MenuItem { action : openFile }

// ....

toolBar : ToolBar {
        ToolButton { action:openFile}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-25
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多